From 3deae61a15bf05f1b36f1575f5521c78c4646736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 21 Apr 2020 22:48:27 +0200 Subject: [PATCH] add heading input rule --- packages/extension-heading/index.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/extension-heading/index.ts b/packages/extension-heading/index.ts index 577af280..3594b326 100644 --- a/packages/extension-heading/index.ts +++ b/packages/extension-heading/index.ts @@ -1,5 +1,7 @@ import { Node, CommandSpec } from '@tiptap/core' import { NodeSpec } from 'prosemirror-model' +import VerEx from 'verbal-expressions' +import { textblockTypeInputRule } from 'prosemirror-inputrules' type Level = 1 | 2 | 3 | 4 | 5 | 6 @@ -52,4 +54,17 @@ export default class Heading extends Node { } } + inputRules() { + return this.options.levels.map((level: Level) => { + const regex = VerEx() + .startOfLine() + .find('#') + .repeatPrevious(level) + .whitespace() + .endOfLine() + + return textblockTypeInputRule(regex, this.type, { level }) + }) + } + } \ No newline at end of file