diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index fe0b35b1..a761bae7 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -52,7 +52,7 @@ export default class CodeEditor extends React.Component { indentUnit: this.props.indentSize, tabSize: this.props.indentSize, indentWithTabs: this.props.indentType !== 'space', - keyMap: 'sublime', + keyMap: this.props.keyMap, inputStyle: 'textarea', extraKeys: { Tab: function (cm) { @@ -102,6 +102,9 @@ export default class CodeEditor extends React.Component { if (prevProps.fontFamily !== this.props.fontFamily) { needRefresh = true } + if (prevProps.keyMap !== this.props.keyMap) { + needRefresh = true + } if (prevProps.indentSize !== this.props.indentSize) { this.editor.setOption('indentUnit', this.props.indentSize) @@ -194,6 +197,7 @@ CodeEditor.propTypes = { CodeEditor.defaultProps = { readOnly: false, theme: 'xcode', + keyMap: 'sublime', fontSize: 14, fontFamily: 'Monaco, Consolas', indentSize: 4, diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 588dcecc..e5041565 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -166,6 +166,7 @@ class MarkdownEditor extends React.Component { mode='GitHub Flavored Markdown' value={value} theme={config.editor.theme} + keyMap={config.editor.keyMap} fontFamily={config.editor.fontFamily} fontSize={editorFontSize} indentType={config.editor.indentType} @@ -179,6 +180,7 @@ class MarkdownEditor extends React.Component { } style={previewStyle} theme={config.ui.theme} + keyMap={config.editor.keyMap} fontSize={config.preview.fontSize} fontFamily={config.preview.fontFamily} codeBlockTheme={config.preview.codeBlockTheme} diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 2e334c6b..98c8cfdd 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -152,6 +152,7 @@ class NoteDetail extends React.Component { fontSize={editorFontSize} indentType={config.editor.indentType} indentSize={editorIndentSize} + keyMap={config.editor.keyMap} readOnly ref={'code-' + index} /> diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index bf84a225..30760589 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -509,6 +509,7 @@ class SnippetNoteDetail extends React.Component { fontSize={editorFontSize} indentType={config.editor.indentType} indentSize={editorIndentSize} + keyMap={config.editor.keyMap} onChange={(e) => this.handleCodeChange(index)(e)} ref={'code-' + index} /> diff --git a/browser/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index a67403e5..1f7ab33d 100644 --- a/browser/main/lib/ConfigManager.js +++ b/browser/main/lib/ConfigManager.js @@ -25,6 +25,7 @@ export const DEFAULT_CONFIG = { }, editor: { theme: 'default', + keyMap: 'sublime', fontSize: '14', fontFamily: 'Monaco, Consolas', indentType: 'space', diff --git a/browser/main/modals/PreferencesModal/ConfigTab.styl b/browser/main/modals/PreferencesModal/ConfigTab.styl index b104da25..896b06ed 100644 --- a/browser/main/modals/PreferencesModal/ConfigTab.styl +++ b/browser/main/modals/PreferencesModal/ConfigTab.styl @@ -94,6 +94,10 @@ p line-height 1.2 +.note-for-keymap + margin-left: 10px + font-size: 12px + colorDarkControl() border-color $ui-dark-borderColor background-color $ui-dark-backgroundColor diff --git a/browser/main/modals/PreferencesModal/UiTab.js b/browser/main/modals/PreferencesModal/UiTab.js index 84e3c25e..47903f87 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -31,7 +31,8 @@ class UiTab extends React.Component { fontFamily: this.refs.editorFontFamily.value, indentType: this.refs.editorIndentType.value, indentSize: this.refs.editorIndentSize.value, - switchPreview: this.refs.editorSwitchPreview.value + switchPreview: this.refs.editorSwitchPreview.value, + keyMap: this.refs.editorKeyMap.value } config.preview = { fontSize: this.refs.previewFontSize.value, @@ -178,6 +179,23 @@ class UiTab extends React.Component { + +
+
+ Editor Keymap +
+
+ + Please reload boostnote after you change the keymap +
+
+
Preview
diff --git a/lib/finder.html b/lib/finder.html index cf46c30e..9340e4c4 100644 --- a/lib/finder.html +++ b/lib/finder.html @@ -31,6 +31,7 @@ + diff --git a/lib/main.html b/lib/main.html index a43985c0..66f139ac 100644 --- a/lib/main.html +++ b/lib/main.html @@ -57,6 +57,7 @@ +