/*\ title: $:/core/modules/widgets/edit-codemirror.js type: application/javascript module-type: widget Codemirror-based text editor widget Config options "$:/config/CodeMirror" e.g. to allow vim key bindings { "require": [ "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js", "$:/plugins/tiddlywiki/codemirror/addon/search/searchcursor.js", "$:/plugins/tiddlywiki/codemirror/keymap/vim.js" ], "configuration": { "keyMap": "vim", "showCursorWhenSelecting": true } } \*/ (function(){ /*jslint node: true, browser: true */ /*global $tw: false */ "use strict"; var CODEMIRROR_OPTIONS = "$:/config/CodeMirror" // Install CodeMirror if($tw.browser && !window.CodeMirror) { window.CodeMirror = require("$:/plugins/tiddlywiki/codemirror/lib/codemirror.js"); // Install required CodeMirror plugins var configOptions = $tw.wiki.getTiddlerData(CODEMIRROR_OPTIONS,{}), req = configOptions["require"]; if(req) { if($tw.utils.isArray(req)) { for(var index=0; index