diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index a5448907..9214363e 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -241,6 +241,15 @@ export default class CodeEditor extends React.Component { const newCursorPos = cm.doc.posFromIndex(formattedCursorPos) cm.doc.setCursor(newCursorPos) }, + [translateHotkey(hotkey.sortLines)]: cm => { + const selection = cm.doc.getSelection() + const appendLineBreak = /\n$/.test(selection) + + const sorted = _.split(selection.trim(), '\n').sort() + const sortedString = _.join(sorted, '\n') + (appendLineBreak ? '\n' : '') + + cm.doc.replaceSelection(sortedString) + }, [translateHotkey(hotkey.pasteSmartly)]: cm => { this.handlePaste(cm, true) } diff --git a/browser/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index b753c515..a3454b30 100644 --- a/browser/main/lib/ConfigManager.js +++ b/browser/main/lib/ConfigManager.js @@ -32,6 +32,7 @@ export const DEFAULT_CONFIG = { deleteNote: OSX ? 'Command + Shift + Backspace' : 'Ctrl + Shift + Backspace', pasteSmartly: OSX ? 'Command + Shift + V' : 'Ctrl + Shift + V', prettifyMarkdown: 'Shift + F', + sortLines: OSX ? 'Command + Shift + S' : 'Ctrl + Shift + S', insertDate: OSX ? 'Command + /' : 'Ctrl + /', insertDateTime: OSX ? 'Command + Alt + /' : 'Ctrl + Shift + /', toggleMenuBar: 'Alt'