aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/executable_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2025-11-28 10:10:31 +0800
committerGitHub <noreply@github.com>2025-11-28 10:10:31 +0800
commit2c6469aca451027648c3317f11ffb6b35b7f835b (patch)
treedcdc582ed137cf23b2a57949e97e1c0a4f731aba /test/functional/vimscript/executable_spec.lua
parent19d5b289774d7308c824a64a7f4414e34e1bb968 (diff)
downloadrneovim-2c6469aca451027648c3317f11ffb6b35b7f835b.tar.gz
rneovim-2c6469aca451027648c3317f11ffb6b35b7f835b.tar.bz2
rneovim-2c6469aca451027648c3317f11ffb6b35b7f835b.zip
vim-patch:9.1.1933: completion: complete_match() is not useful (#36726)
Problem: completion: complete_match() Vim script function and 'isexpand' option are not that useful and confusing (after v9.1.1341) Solution: Remove function and option and clean up code and documentation (Girish Palya). complete_match() and 'isexpand' add no real functionality to Vim. They duplicate what `strridx()` already does, yet pretend to be part of the completion system. They have nothing to do with the completion mechanism. * `f_complete_match()` in `insexpand.c` does not call any completion code. It’s just a `STRNCMP()` wrapper with fluff logic. * `'isexpand'` exists only as a proxy argument to that function. It does nothing on its own and amounts to misuse of a new option. The following Vim script function can be used to implement the same functionality: ```vim func CompleteMatch(triggers, sep=',') let line = getline('.')->strpart(0, col('.') - 1) let result = [] for trig in split(a:triggers, a:sep) let idx = strridx(line, trig) if l:idx >= 0 call add(result, [idx + 1, trig]) endif endfor return result endfunc ``` related: vim/vim#16716 fixes: vim/vim#18563 closes: vim/vim#18790 https://github.com/vim/vim/commit/cbcbff871224115c45bbd14582749a487c6fad30 Co-authored-by: Girish Palya <girishji@gmail.com>
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions