feat: Integrate input rules and paste rules into the core (#1997)
* refactoring * improve link regex * WIP: add new markPasteRule und linkify to image mark * move copy of inputrule to core * trigger codeblock inputrule on enter * refactoring * add regex match to markpasterulematch * refactoring * improve link regex * WIP: add new markPasteRule und linkify to image mark * move copy of inputrule to core * trigger codeblock inputrule on enter * refactoring * add regex match to markpasterulematch * update linkify * wip * wip * log * wip * remove debug code * wip * wip * wip * wip * wip * wip * wip * wip * rename matcher * add data to ExtendedRegExpMatchArray * remove logging * add code option to marks, prevent inputrules in code mark * remove link regex * fix codeblock inputrule on enter * refactoring * refactoring * refactoring * refactoring * fix position bug * add test * export InputRule and PasteRule * clean up link demo * fix types
This commit is contained in:
@@ -15,6 +15,7 @@ import getText from './helpers/getText'
|
||||
import isNodeEmpty from './helpers/isNodeEmpty'
|
||||
import getTextSeralizersFromSchema from './helpers/getTextSeralizersFromSchema'
|
||||
import createStyleTag from './utilities/createStyleTag'
|
||||
import isFunction from './utilities/isFunction'
|
||||
import CommandManager from './CommandManager'
|
||||
import ExtensionManager from './ExtensionManager'
|
||||
import EventEmitter from './EventEmitter'
|
||||
@@ -184,7 +185,7 @@ export class Editor extends EventEmitter<EditorEvents> {
|
||||
* @param handlePlugins Control how to merge the plugin into the existing plugins.
|
||||
*/
|
||||
public registerPlugin(plugin: Plugin, handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[]): void {
|
||||
const plugins = typeof handlePlugins === 'function'
|
||||
const plugins = isFunction(handlePlugins)
|
||||
? handlePlugins(plugin, this.state.plugins)
|
||||
: [...this.state.plugins, plugin]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user