diff --git a/frontend/obsidian-plugin/src/utils/position-to-line-and-column.ts b/frontend/obsidian-plugin/src/utils/position-to-line-and-column.ts index 3c35fb6..3df61de 100644 --- a/frontend/obsidian-plugin/src/utils/position-to-line-and-column.ts +++ b/frontend/obsidian-plugin/src/utils/position-to-line-and-column.ts @@ -14,13 +14,18 @@ export function positionToLineAndColumn( throw new Error("Position cannot be negative"); } - if (position > text.length) { + text = text.replace("\r", ""); + + if ( + position > + text.length + 1 + // +1 to account for the cursor being after last character + ) { throw new Error( `Position ${position} exceeds text length ${text.length}` ); } - text = text.replace("\r", ""); const textUpToPosition = text.substring(0, position); const lines = textUpToPosition.split("\n");