title: $:/plugins/tiddlywiki/codemirror/readme

! Setting ~CodeMirror Content Types

You can determine which tiddler content types are edited by the ~CodeMirror widget by creating or modifying special tiddlers whose prefix is comprised of the string `$:/config/EditorTypeMappings/` concatenated with the content type. The text of that tiddler gives the editor type to be used (eg, ''text'', ''bitmap'', ''codemirror'').

The current editor type mappings are shown in [[$:/ControlPanel]] under the "Advanced" tab.

! ~CodeMirror Configuration

You can configure the ~CodeMirror plugin by creating a tiddler called [[$:/config/CodeMirror]] containing a JSON configuration object. The configuration tiddler must have its type field set to `application/json` to take effect.

See http://codemirror.net/ for details of available configuration options.

For example:

```
{
  "require": [
      "$:/plugins/tiddlywiki/codemirror/mode/javascript/javascript.js",
      "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js",
      "$:/plugins/tiddlywiki/codemirror/addon/search/searchcursor.js",
      "$:/plugins/tiddlywiki/codemirror/addon/edit/matchbrackets.js",
      "$:/plugins/tiddlywiki/codemirror/keymap/vim.js",
      "$:/plugins/tiddlywiki/codemirror/keymap/emacs.js"
  ],
  "configuration": {
      "keyMap": "vim",
      "matchBrackets":true,
      "showCursorWhenSelecting": true
  }
}
```
