diff --git a/README.md b/README.md index 645b109..804ff73 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ simplemde.value("This text will appear in the editor"); - **unique_id**: You must set a unique identifier so that SimpleMDE can autosave. Something that separates this from other textareas. - **delay**: Delay between saves, in milliseconds. Defaults to `10000` (10s). - **previewRender**: Custom function for parsing the plaintext Markdown and returning HTML. Used when user previews. +- **codeMirrorModeConfig**: Additional CodeMirror config options to pass through to gfm and markdown modes. ```JavaScript var simplemde = new SimpleMDE({ @@ -113,6 +114,9 @@ var simplemde = new SimpleMDE({ }, 250); return "Loading..."; + }, + codeMirrorModeConfig: { + highlightFormatting: true, taskLists: false } }); ``` diff --git a/src/js/simplemde.js b/src/js/simplemde.js index cb639e5..99db161 100644 --- a/src/js/simplemde.js +++ b/src/js/simplemde.js @@ -761,6 +761,8 @@ function SimpleMDE(options) { } } + options.codeMirrorModeConfig = options.codeMirrorModeConfig || {}; + // Update this options this.options = options; @@ -836,12 +838,14 @@ SimpleMDE.prototype.render = function(el) { if(cm.getOption("fullScreen")) cm.setOption("fullScreen", false); }; - var mode = "spell-checker"; - var backdrop = "gfm"; - + var mode, backdrop; if(options.spellChecker === false) { - mode = "gfm"; - backdrop = undefined; + mode = options.codeMirrorModeConfig; + mode.name = 'gfm'; + } else { + mode = 'spell-checker'; + backdrop = options.codeMirrorModeConfig; + backdrop.name = 'gfm'; } this.codemirror = CodeMirror.fromTextArea(el, {