diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index 7719ed909..9921911d5 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -232,6 +232,12 @@ export default class CodeEditor extends React.Component { this.updateDefaultKeyMap() this.value = this.props.value + var enable = true + if (this.props.enableCodeMirror === 'true') { + enable = true + } else { + enable = false + } this.editor = CodeMirror(this.refs.root, { rulers: buildCMRulers(rulers, enableRulers), value: this.props.value, @@ -251,11 +257,10 @@ export default class CodeEditor extends React.Component { pairs: '()[]{}\'\'""$$**``', triples: '```"""\'\'\'', explode: '[]{}``$$', - override: true + override: enable }, extraKeys: this.defaultKeyMap }) - this.setMode(this.props.mode) this.editor.on('focus', this.focusHandler) @@ -850,7 +855,8 @@ CodeEditor.propTypes = { onBlur: PropTypes.func, onChange: PropTypes.func, readOnly: PropTypes.bool, - spellCheck: PropTypes.bool + spellCheck: PropTypes.bool, + enableCodeMirror: PropTypes.bool } CodeEditor.defaultProps = { diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index d3270c18f..1351dc63c 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -278,6 +278,7 @@ class MarkdownEditor extends React.Component { onChange={(e) => this.handleChange(e)} onBlur={(e) => this.handleBlur(e)} spellCheck={config.editor.spellcheck} + enableCodeMirror={config.editor.enableCodeMirror} enableSmartPaste={config.editor.enableSmartPaste} hotkey={config.hotkey} switchPreview={config.editor.switchPreview} diff --git a/browser/components/MarkdownSplitEditor.js b/browser/components/MarkdownSplitEditor.js index bd79bc24b..807913c35 100644 --- a/browser/components/MarkdownSplitEditor.js +++ b/browser/components/MarkdownSplitEditor.js @@ -172,6 +172,7 @@ class MarkdownSplitEditor extends React.Component { onChange={this.handleOnChange.bind(this)} onScroll={this.handleScroll.bind(this)} spellCheck={config.editor.spellcheck} + enableCodeMirror={config.editor.enableCodeMirror} enableSmartPaste={config.editor.enableSmartPaste} hotkey={config.hotkey} switchPreview={config.editor.switchPreview} diff --git a/browser/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index c2ff9f7ad..2f5d84865 100644 --- a/browser/main/lib/ConfigManager.js +++ b/browser/main/lib/ConfigManager.js @@ -54,6 +54,7 @@ export const DEFAULT_CONFIG = { enableFrontMatterTitle: true, frontMatterTitleField: 'title', spellcheck: false, + enableCodeMirror: true, enableSmartPaste: false }, preview: { diff --git a/browser/main/modals/PreferencesModal/UiTab.js b/browser/main/modals/PreferencesModal/UiTab.js index becd4f548..f068d891b 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -55,6 +55,7 @@ class UiTab extends React.Component { handleUIChange (e) { const { codemirrorTheme } = this.state let checkHighLight = document.getElementById('checkHighLight') + console.log(this.refs.enableCodeMirror.value) if (checkHighLight === null) { checkHighLight = document.createElement('link') @@ -97,6 +98,7 @@ class UiTab extends React.Component { enableFrontMatterTitle: this.refs.enableFrontMatterTitle.checked, frontMatterTitleField: this.refs.frontMatterTitleField.value, spellcheck: this.refs.spellcheck.checked, + enableCodeMirror: this.refs.enableCodeMirror.value, enableSmartPaste: this.refs.enableSmartPaste.checked }, preview: { @@ -435,7 +437,27 @@ class UiTab extends React.Component { /> - +