diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index bf2946dc29..65cb4fad00 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -355,13 +355,13 @@ export class Editor extends EventEmitter { * @param handlePlugins Control how to merge the plugin into the existing plugins. * @returns The new editor state */ - public registerPlugin( - plugin: Plugin, - handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[], + public registerPlugin( + plugin: T, + handlePlugins?: (newPlugin: T, plugins: Plugin[]) => Plugin[], ): EditorState { const plugins = isFunction(handlePlugins) ? handlePlugins(plugin, [...this.state.plugins]) - : [...this.state.plugins, plugin] + : [...this.state.plugins, ...(Array.isArray(plugin) ? plugin : [plugin])] const state = this.state.reconfigure({ plugins })