diff --git a/packages/extension-bullet-list/index.ts b/packages/extension-bullet-list/index.ts index d4d57246..e116ca3c 100644 --- a/packages/extension-bullet-list/index.ts +++ b/packages/extension-bullet-list/index.ts @@ -1,6 +1,8 @@ import { Command, createNode } from '@tiptap/core' import { wrappingInputRule } from 'prosemirror-inputrules' +export const inputRegex = /^\s*([-+*])\s$/ + const BulletList = createNode({ name: 'bullet_list', @@ -36,7 +38,7 @@ const BulletList = createNode({ addInputRules() { return [ - wrappingInputRule(/^\s*([-+*])\s$/, this.type), + wrappingInputRule(inputRegex, this.type), ] }, }) diff --git a/packages/extension-ordered-list/index.ts b/packages/extension-ordered-list/index.ts index 3255ad56..e9d6e469 100644 --- a/packages/extension-ordered-list/index.ts +++ b/packages/extension-ordered-list/index.ts @@ -1,6 +1,8 @@ import { Command, createNode } from '@tiptap/core' import { wrappingInputRule } from 'prosemirror-inputrules' +export const inputRegex = /^(\d+)\.\s$/ + const OrderedList = createNode({ name: 'ordered_list', @@ -56,7 +58,7 @@ const OrderedList = createNode({ addInputRules() { return [ wrappingInputRule( - /^(\d+)\.\s$/, + inputRegex, this.type, match => ({ order: +match[1] }), (match, node) => node.childCount + node.attrs.order === +match[1], diff --git a/packages/extension-task-list/index.ts b/packages/extension-task-list/index.ts index 28f5a3d1..cada9581 100644 --- a/packages/extension-task-list/index.ts +++ b/packages/extension-task-list/index.ts @@ -1,6 +1,9 @@ import { Command, createNode, mergeAttributes } from '@tiptap/core' import { wrappingInputRule } from 'prosemirror-inputrules' +// TODO: add suport for [ ] and [x] +export const inputRegex = /^\s*(\[ \])\s$/ + const TaskList = createNode({ name: 'task_list', @@ -33,7 +36,7 @@ const TaskList = createNode({ addInputRules() { return [ - wrappingInputRule(/^\s*(\[ \])\s$/, this.type), + wrappingInputRule(inputRegex, this.type), ] }, })