I encountered a bug where the in-memory document did get out of the sync with my editor, specifically the in-memory document had an additional character at the end that was previously deleted.
This happens because the deletion index was using the get_position_idx which caps the character of a range to the number of chars in the specific line - 1. This is usually okay, but if we delete from the end of the line the Range End is actually designated as end_char + 1.
This resulted in one dangling character at the end when deleting from the end.
The out-of-sync lead to all kinds of underflow and range errors. I tested the change together with a local checkout of llm-vscode, which now behaves as intended when deleting from the end
I encountered a bug where the in-memory document did get out of the sync with my editor, specifically the in-memory document had an additional character at the end that was previously deleted.
This happens because the deletion index was using the
get_position_idx
which caps the character of a range to the number of chars in the specific line - 1. This is usually okay, but if we delete from the end of the line the Range End is actually designated as end_char + 1.This resulted in one dangling character at the end when deleting from the end.
The out-of-sync lead to all kinds of underflow and range errors. I tested the change together with a local checkout of llm-vscode, which now behaves as intended when deleting from the end