From 54126c05e91d1e921c55e248d03b249a03d6a0f1 Mon Sep 17 00:00:00 2001 From: NineKey Date: Mon, 14 Sep 2026 23:13:01 +0800 Subject: [PATCH] Make a single Enter create a visible line --- web/dynamic_loader.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/dynamic_loader.js b/web/dynamic_loader.js index 125cc3b..489aa56 100644 --- a/web/dynamic_loader.js +++ b/web/dynamic_loader.js @@ -693,10 +693,14 @@ app.registerExtension({ const range = selection.getRangeAt(0); range.deleteContents(); const br = document.createElement("br"); - const after = document.createTextNode(""); + // A trailing BR followed by an empty text node has no + // rendered caret box in Chromium, making the first Enter + // appear to do nothing. The editor-only anchor gives the + // new line a real caret position without entering output. + const after = document.createTextNode(CARET_ANCHOR); range.insertNode(after); range.insertNode(br); - range.setStart(after, 0); + range.setStart(after, after.nodeValue.length); range.collapse(true); selection.removeAllRanges(); selection.addRange(range);