From 62149cc5b2f3b16369eb5e4e1056f48f9e2a5db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 30 Oct 2020 16:06:30 +0100 Subject: [PATCH] refactoring --- packages/extension-bullet-list/index.ts | 4 +++- packages/extension-ordered-list/index.ts | 4 +++- packages/extension-task-list/index.ts | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) 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), ] }, })