diff options
author | Jaehwang Jung <tomtomjhj@gmail.com> | 2024-07-31 23:18:24 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-31 16:18:24 +0200 |
commit | 6bb40f3dbffb4b9858d9b13486d1832db8f51755 (patch) | |
tree | e23791d44d85f18c9e85e17d981c995636481a3b /runtime/lua/vim/_meta/vimfn.lua | |
parent | 4e90bc30237ae81bf15e77c17ac8089a2cc74046 (diff) | |
download | rneovim-6bb40f3dbffb4b9858d9b13486d1832db8f51755.tar.gz rneovim-6bb40f3dbffb4b9858d9b13486d1832db8f51755.tar.bz2 rneovim-6bb40f3dbffb4b9858d9b13486d1832db8f51755.zip |
fix(lsp): prevent desync due to empty buffer (#29904)
Problem:
Some language servers (e.g., rust-analyzer, texlab) are desynced when
the user deletes the entire contents of the buffer. This is due to the
discrepancy between how nvim computes diff and how nvim treats empty
buffer.
* diff: If the buffer became empty, then the diff includes the last
line's eol.
* empty buffer: Even if the buffer is empty, nvim regards it as having
a single empty line with eol.
Solution:
Add special case for diff computation when the buffer becomes empty so
that it does not include the eol of the last line.
Diffstat (limited to 'runtime/lua/vim/_meta/vimfn.lua')
0 files changed, 0 insertions, 0 deletions