aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/python.vim
diff options
context:
space:
mode:
authorÉtienne Robert <etiennerobert33@gmail.com>2026-08-24 16:51:39 +0200
committerGitHub <noreply@github.com>2026-08-24 10:51:39 -0400
commitd1b811b6c2d93fe13442d61331a9276fea417f7b (patch)
tree3887220772662cec44c7ed8771dd22c03fe86562 /runtime/syntax/python.vim
parent8c440c469bb6f075fe26a1199ae6dcd2314394c9 (diff)
downloadrneovim-d1b811b6c2d93fe13442d61331a9276fea417f7b.tar.gz
rneovim-d1b811b6c2d93fe13442d61331a9276fea417f7b.tar.bz2
rneovim-d1b811b6c2d93fe13442d61331a9276fea417f7b.zip
fix(lsp): advance inline completion range over matching input #41434
Problem: `Completor:accept()` applies the item against the range the server answered with. Characters typed after the request but before accepting lie inside neither that range nor the replacement, so they are left behind by the insertion: typing `a` after `foob` and accepting `foobar` within the 200 ms debounce yields `foobara`. Solution: Grow the item's range over the characters typed since the request, so that `accept()` replaces them. Only while the candidate still matches, decided by the longest common prefix `show()` already computes, so input that contradicts it is left alone. Snippet items are unaffected, since `accept()` ignores the range for them.
Diffstat (limited to 'runtime/syntax/python.vim')
0 files changed, 0 insertions, 0 deletions