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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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') {