Fix bug where single line inserts were deleting all text after the in… (#1114)

This commit is contained in:
Jacob Richman
2025-06-16 22:21:22 +00:00
committed by GitHub
parent 11f524c125
commit a7e45d47cd
2 changed files with 18 additions and 1 deletions

View File

@@ -635,9 +635,9 @@ export function useTextBuffer({
const lineContent = currentLine(newCursorRow);
const before = cpSlice(lineContent, 0, newCursorCol);
const after = cpSlice(lineContent, newCursorCol);
newLines[newCursorRow] = before + parts[0];
if (parts.length > 1) {
newLines[newCursorRow] = before + parts[0];
const remainingParts = parts.slice(1);
const lastPartOriginal = remainingParts.pop() ?? '';
newLines.splice(newCursorRow + 1, 0, ...remainingParts);
@@ -649,6 +649,8 @@ export function useTextBuffer({
newCursorRow = newCursorRow + parts.length - 1;
newCursorCol = cpLen(lastPartOriginal);
} else {
newLines[newCursorRow] = before + parts[0] + after;
newCursorCol = cpLen(before) + cpLen(parts[0]);
}
} else if (op.type === 'backspace') {