| 1234567891011121314151617181920212223242526272829 |
- import * as codemirror from 'codemirror';
- import markdownListHelper from './MarkdownListHelper';
- import markdownTableHelper from './MarkdownTableHelper';
- /**
- * Selector for one new line handler
- */
- class ContextBasedNewLineHandlerExecutor {
- /**
- * select one handler from helper
- * @param {any} editor An editor instance of CodeMirror
- */
- execNewLineHandler(editor) {
- let newLineHelpers = [markdownTableHelper, markdownListHelper];
- const helper = newLineHelpers.find( h => h.isMatchedContext(editor));
- if (helper != undefined) {
- helper.handleNewLine(editor);
- } else {
- codemirror.commands.newlineAndIndent(editor);
- }
- }
- }
- // singleton pattern
- const instance = new ContextBasedNewLineHandlerExecutor();
- Object.freeze(instance);
- export default instance;
|