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/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index 4008b881..4b9b888d 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/UiTab.js b/browser/main/modals/PreferencesModal/UiTab.js index a4031a90..a5ea8b9e 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -34,7 +34,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, @@ -181,6 +182,22 @@ class UiTab extends React.Component { + +
+
+ Editor Keymap +
+
+ +
+
+
Preview
diff --git a/lib/finder.html b/lib/finder.html index cb55fe8b..f8f0cc9c 100644 --- a/lib/finder.html +++ b/lib/finder.html @@ -31,6 +31,7 @@ + diff --git a/lib/main.html b/lib/main.html index 143c1642..36044fe1 100644 --- a/lib/main.html +++ b/lib/main.html @@ -57,6 +57,7 @@ +