From d3afee0e34b0c45792a36bc1f802f172068f5617 Mon Sep 17 00:00:00 2001 From: yflory Date: Tue, 23 Apr 2019 13:23:33 +0200 Subject: [PATCH 1/7] Add a spellcheck option for codemirror --- www/common/sframe-common-codemirror.js | 9 ++++-- www/settings/inner.js | 39 ++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/www/common/sframe-common-codemirror.js b/www/common/sframe-common-codemirror.js index 96f5fe77d..8fd886fec 100644 --- a/www/common/sframe-common-codemirror.js +++ b/www/common/sframe-common-codemirror.js @@ -142,6 +142,7 @@ define([ showTrailingSpace : true, styleActiveLine : true, search: true, + inputStyle: 'contenteditable', highlightSelectionMatches: {showToken: /\w+/}, extraKeys: {"Shift-Ctrl-R": undefined}, foldGutter: true, @@ -355,11 +356,12 @@ define([ }; exp.mkIndentSettings = function (metadataMgr) { - var setIndentation = function (units, useTabs, fontSize) { + var setIndentation = function (units, useTabs, fontSize, spellcheck) { if (typeof(units) !== 'number') { return; } editor.setOption('indentUnit', units); editor.setOption('tabSize', units); editor.setOption('indentWithTabs', useTabs); + editor.setOption('spellcheck', spellcheck); if (!useTabs) { editor.setOption("extraKeys", { Tab: function() { @@ -377,6 +379,7 @@ define([ var indentKey = 'indentUnit'; var useTabsKey = 'indentWithTabs'; var fontKey = 'fontSize'; + var spellcheckKey = 'spellcheck'; var updateIndentSettings = function () { if (!metadataMgr) { return; } var data = metadataMgr.getPrivateData().settings; @@ -384,10 +387,12 @@ define([ var indentUnit = data[indentKey]; var useTabs = data[useTabsKey]; var fontSize = data[fontKey]; + var spellcheck = data[spellcheckKey]; setIndentation( typeof(indentUnit) === 'number'? indentUnit : 2, typeof(useTabs) === 'boolean'? useTabs : false, - typeof(fontSize) === 'number' ? fontSize : 12); + typeof(fontSize) === 'number' ? fontSize : 12, + typeof(spellcheck) === 'boolean' ? spellcheck : false); }; metadataMgr.onChangeLazy(updateIndentSettings); updateIndentSettings(); diff --git a/www/settings/inner.js b/www/settings/inner.js index 9457338db..e74495c82 100644 --- a/www/settings/inner.js +++ b/www/settings/inner.js @@ -85,6 +85,7 @@ define([ 'cp-settings-code-indent-unit', 'cp-settings-code-indent-type', 'cp-settings-code-font-size', + 'cp-settings-code-spellcheck', ], 'subscription': { onClick: function () { @@ -1467,6 +1468,44 @@ define([ return $div; }; + create['code-spellcheck'] = function () { + var $div = $('
', { + 'class': 'cp-settings-code-spellcheck cp-sidebarlayout-element' + }); + $('