From 7e8ea84bda00350ec44ae7a324a0f1b7a875ac40 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 17 Dec 2024 17:24:41 -0500 Subject: [PATCH] fix cursor position on state changes - fixes #935 --- packages/editor/src/lib/Workspace.svelte.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/editor/src/lib/Workspace.svelte.ts b/packages/editor/src/lib/Workspace.svelte.ts index d73f4f65ea..9bfa1e908a 100644 --- a/packages/editor/src/lib/Workspace.svelte.ts +++ b/packages/editor/src/lib/Workspace.svelte.ts @@ -556,7 +556,10 @@ export class Workspace { const existing = state.doc.toString(); if (file.contents !== existing) { - const current_cursor_position = this.#view?.state.selection.ranges[0].from!; + const current_cursor_position = Math.min( + this.#view?.state.selection.ranges[0].from!, + file.contents.length + ); const transaction = state.update({ changes: {