summaryrefslogtreecommitdiffstatshomepage
path: root/test/functional/plugin/lsp/incremental_sync_spec.lua
AgeCommit message (Collapse)AuthorFiles
2024-11-25refactor(lsp): rename `offset_encoding` to `position_encoding` #31286Yi Ming1
Problem: LSP spec uses the term "position encoding" where we say "offset encoding". Solution: - Rename it everywhere except `vim.lsp.Client.offset_encoding` (which would be breaking). - Mention "position encoding" in the documentation for `vim.lsp.Client.offset_encoding`.
2024-09-21test: support upvalues in exec_luaLewis Russell1
2024-07-31fix(lsp): prevent desync due to empty buffer (#29904)Jaehwang Jung1
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.
2024-04-23test: improve test conventionsdundargoc1
Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
2024-04-10refactor(test): inject after_each differentlyLewis Russell1
2024-04-08test: improve test conventionsdundargoc1
Work on https://github.com/neovim/neovim/issues/27004.
2024-01-12test: rename (meths, funcs) -> (api, fn)Lewis Russell1
2024-01-12test: typing for helpers.methsLewis Russell1
2024-01-03refactor: format test/*Justin M. Keyes1
2023-05-22test: don't unnecessarily specify win/buf for `nvim_(get|set)_option_value`Famiu Haque1
`nvim_(get|set)_option_value` pick the current buffer / window by default for buffer-local/window-local (but not global-local) options. So specifying `buf = 0` or `win = 0` in opts is unnecessary for those options. This PR removes those to reduce code clutter.
2023-05-21refactor(options): deprecate nvim[_buf|_win]_[gs]et_optionLewis Russell1
Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: famiu <famiuhaque@protonmail.com>
2022-03-06fix(lsp): handle insertion of previous line (#17618)Michael Lingelbach1
2022-03-05fix(lsp): start incremental sync range at previous newline character (#17610)Michael Lingelbach1
This change forces the start of an incremental sync range to begin always on an existing line.
2021-12-17fix(lsp): correctly align start and end range to codepoints during ↵Rishikesh Vaishnav1
incremental sync (#16670) Closes #16624 Fixes two issues with aligning the start position and end position to codepoints when calculating the start and end range. When aligning the start position: * use aligned byte index to calculate character index rather than the unadjusted byte When aligning the end position: * do not adjust the end byte if it falls on a UTF-8 codepoint * align byte to the first byte of the next codepoint rather than the last byte of the current codepoint * compute character character end range on the aligned byte index This commit also adds additional test coverage, including multibyte operations that previously failed before this commit.
2021-11-18fix(lsp): improve incremental sync robustness (#16358)Michael Lingelbach1
closes https://github.com/neovim/neovim/issues/16352 * improve handling of multi-byte deletions
2021-11-15fix(lsp): fix edge cases in incremental sync (#16308)Michael Lingelbach1
2021-11-09fix(lsp): rewrite incremental sync (#16252)Michael Lingelbach1
* use codeunits/points instead of byte ranges when applicable * take into account different file formats when computing range and sending text (dos, unix, and mac supported) * add tests of incremental sync