diff --git a/README.md b/README.md index aa70fd30..f29d1c78 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ - Image viewer - Quick access: frequently access folders are pin to the homepage - Stateless -- Emacs keybindings `;)` +- Emacs, VIM or Sublime keybindings `;)` # Screenshots
diff --git a/client/pages/viewerpage/editor.js b/client/pages/viewerpage/editor.js index 604e3e36..1dd698bd 100644 --- a/client/pages/viewerpage/editor.js +++ b/client/pages/viewerpage/editor.js @@ -50,7 +50,8 @@ export class Editor extends React.Component { }); - this.loadMode(this.props.filename) + this.loadKeybinding() + .then(() => this.loadMode(this.props.filename)) .then((res) => new Promise((done) => this.setState({loading: false}, () => done(res)))) .then(loadCodeMirror.bind(this)) .then(() => { @@ -96,7 +97,7 @@ export class Editor extends React.Component { value: this.props.content, lineNumbers: true, mode: mode, - keyMap: config.god_editor_mode ? "emacs" : "default", + keyMap: config.editor, lineWrapping: true, foldOptions: { widget: "..." @@ -194,6 +195,13 @@ export class Editor extends React.Component { .then((module) => Promise.resolve([module.default, mode: mode])); } + loadKeybinding(){ + if(config.editor === "emacs" || !config.editor){ + return Promise.resolve(); + } + return import(/* webpackChunkName: "editor" */'./editor/keymap_'+config.editor); + } + render() { return (