From 7f4c58a84a46f094e960c5b561d74f8a175a4009 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 8 Jan 2017 17:44:41 +0900 Subject: [PATCH 1/3] Adds vim keymap setting --- browser/components/CodeEditor.js | 6 +++++- browser/components/MarkdownEditor.js | 2 ++ browser/main/lib/ConfigManager.js | 1 + browser/main/modals/PreferencesModal/UiTab.js | 19 ++++++++++++++++++- lib/finder.html | 1 + lib/main.html | 1 + 6 files changed, 28 insertions(+), 2 deletions(-) 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 @@ + From df2de5c081fd75b5461c7c79458ed5d8797b4aed Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 8 Jan 2017 18:16:32 +0900 Subject: [PATCH 2/3] Adds note of caution next to keymap change select box --- browser/main/modals/PreferencesModal/ConfigTab.styl | 4 ++++ browser/main/modals/PreferencesModal/UiTab.js | 1 + 2 files changed, 5 insertions(+) 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 a5ea8b9e..2a608ba7 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -195,6 +195,7 @@ class UiTab extends React.Component { + Please reload boostnote after you change the keymap
From 372f2e73192dda223b2baa15e44d6a36d73c1eb6 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sat, 14 Jan 2017 16:39:50 +0900 Subject: [PATCH 3/3] Adds a prop keyMap to NoteDetail and SnippetNoteDetail --- browser/finder/NoteDetail.js | 1 + browser/main/Detail/SnippetNoteDetail.js | 1 + 2 files changed, 2 insertions(+) diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 2abaaa96..665e68d7 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -154,6 +154,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 fdc76262..011755d2 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -508,6 +508,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} />