From 92f6ea25cc7623d0bd34f5a2342be6f5aae951aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Sun, 11 Apr 2021 18:29:03 +0200 Subject: [PATCH] fix: remove codeblock when at start of document, fix #262 --- packages/extension-code-block/src/code-block.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/extension-code-block/src/code-block.ts b/packages/extension-code-block/src/code-block.ts index 0ab9eadd..3e7ef2bb 100644 --- a/packages/extension-code-block/src/code-block.ts +++ b/packages/extension-code-block/src/code-block.ts @@ -101,6 +101,22 @@ export const CodeBlock = Node.create({ addKeyboardShortcuts() { return { 'Mod-Alt-c': () => this.editor.commands.toggleCodeBlock(), + + // remove code block when at start of document or code block is empty + Backspace: state => { + const { empty, $anchor } = state.selection + const isAtStart = $anchor.pos === 1 + + if (!empty || $anchor.parent.type.name !== 'codeBlock') { + return false + } + + if (isAtStart || !$anchor.parent.textContent.length) { + return this.editor.commands.clearNodes() + } + + return false + }, } },