From da1aaec025ec2fc45121f07a819590eb95833c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 6 Nov 2020 14:03:51 +0100 Subject: [PATCH] improve getMarkAttrs when selection is empty --- packages/core/src/utils/getMarkAttrs.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/core/src/utils/getMarkAttrs.ts b/packages/core/src/utils/getMarkAttrs.ts index 64719f95..d8e60d8d 100644 --- a/packages/core/src/utils/getMarkAttrs.ts +++ b/packages/core/src/utils/getMarkAttrs.ts @@ -5,10 +5,13 @@ export default function getMarkAttrs(state: EditorState, type: MarkType) { const { from, to, empty } = state.selection let marks: Mark[] = [] - // TODO: -1 only for inclusive marks? - state.doc.nodesBetween(empty ? from - 1 : from, to, node => { - marks = [...marks, ...node.marks] - }) + if (empty) { + marks = state.selection.$head.marks() + } else { + state.doc.nodesBetween(from, to, node => { + marks = [...marks, ...node.marks] + }) + } const mark = marks.find(markItem => markItem.type.name === type.name)