From 7dc541019225eeb7d4d9ff678b94d0c54cbf9e5c Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Tue, 15 Oct 2024 11:27:03 +0800 Subject: fix: only update scroll line by user input --- src/editor.mjs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/editor.mjs b/src/editor.mjs index d13be58..e2d3d6d 100644 --- a/src/editor.mjs +++ b/src/editor.mjs @@ -497,9 +497,12 @@ updateDumbyMap(() => { // Re-render HTML by editor content cm.on('change', (_, change) => { - updateDumbyMap(() => { - updateCMScrollLine(cm) - }) + if (change.origin?.match(/\+input|\+delete|paste/)) { + textArea.dataset.scrollLine = cm.getCursor().line + updateDumbyMap(() => { + updateCMScrollLine(cm) + }) + } addClassToCodeLines() completeForCodeBlock(change) }) @@ -511,8 +514,6 @@ cm.on('focus', () => { }) cm.on('beforeChange', (_, change) => { - textArea.dataset.scrollLine = cm.getCursor().line - // Don't allow more content after YAML doc separator if (change.origin && change.origin.match(/^(\+input|paste)$/)) { const line = change.to.line -- cgit v1.2.3-70-g09d2