From 8574de4cee154f4ea88aff832e6b1a7987a5ad74 Mon Sep 17 00:00:00 2001 From: ryan lin Date: Tue, 28 May 2024 10:17:56 +0800 Subject: [PATCH] Fix shift + tab in sv mode (#1630) --- src/ts/sv/processKeydown.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ts/sv/processKeydown.ts b/src/ts/sv/processKeydown.ts index 5d8e82462..eb7e2c6d9 100644 --- a/src/ts/sv/processKeydown.ts +++ b/src/ts/sv/processKeydown.ts @@ -95,8 +95,15 @@ export const processKeydown = (vditor: IVditor, event: KeyboardEvent) => { } // 第一个 marker 后 tab 进行缩进 if (event.key === "Tab") { - listFirstMarkerElement.insertAdjacentHTML("beforebegin", - `${listFirstMarkerElement.textContent.replace(/\S/g, " ")}`); + if(event.shiftKey){ + if(listFirstMarkerElement.previousElementSibling.getAttribute("data-type") === "padding"){ + listFirstMarkerElement.previousElementSibling.remove(); + } + } + else{ + listFirstMarkerElement.insertAdjacentHTML("beforebegin", + `${listFirstMarkerElement.textContent.replace(/\S/g, " ")}`); + } if (/^\d/.test(listFirstMarkerElement.textContent)) { listFirstMarkerElement.textContent = listFirstMarkerElement.textContent.replace(/^\d{1,}/, "1"); range.selectNodeContents(listLastMarkerElement.firstChild);