diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index f4a2b956..6b1e3ff7 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -1,7 +1,7 @@ import { EditorState, TextSelection } from 'prosemirror-state' import { EditorView} from 'prosemirror-view' import { Schema, DOMParser, DOMSerializer } from 'prosemirror-model' -import { inputRules, undoInputRule } from 'prosemirror-inputrules' +import { undoInputRule } from 'prosemirror-inputrules' import { keymap } from 'prosemirror-keymap' import { baseKeymap } from 'prosemirror-commands' import { dropCursor } from 'prosemirror-dropcursor' @@ -121,9 +121,6 @@ export class Editor extends EventEmitter { private get plugins() { return [ ...this.extensionManager.plugins, - ...this.extensionManager.keymaps, - ...this.extensionManager.pasteRules, - inputRules({ rules: this.extensionManager.inputRules }), keymap({ Backspace: undoInputRule }), keymap(baseKeymap), dropCursor(), diff --git a/packages/core/src/ExtensionManager.ts b/packages/core/src/ExtensionManager.ts index 7b3dec90..df2bb06a 100644 --- a/packages/core/src/ExtensionManager.ts +++ b/packages/core/src/ExtensionManager.ts @@ -1,5 +1,6 @@ -import { keymap } from 'prosemirror-keymap' import collect from 'collect.js' +import { keymap } from 'prosemirror-keymap' +import { inputRules } from 'prosemirror-inputrules' import { Editor } from './Editor' import Extension from './Extension' import Node from './Node' @@ -43,9 +44,16 @@ export default class ExtensionManager { } get plugins(): any { - return collect(this.extensions) + const plugins = collect(this.extensions) .flatMap(extension => extension.plugins()) .toArray() + + return [ + ...plugins, + ...this.keymaps, + ...this.pasteRules, + inputRules({ rules: this.inputRules }), + ] } get inputRules(): any {