mirror of
https://github.com/vim/vim.git
synced 2025-12-10 18:46:57 -05:00
patch 9.1.1933: completion: complete_match() is not useful
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: #16716
fixes: #18563
closes: #18790
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
c531501748
commit
cbcbff8712
@ -275,7 +275,7 @@ Vim would never have become what it is now, without the help of these people!
|
||||
improvements
|
||||
Doug Kearns Runtime file maintainer
|
||||
Foxe Chen Wayland support, new features
|
||||
glepnir completion feature
|
||||
glepnir work on improving completion feature, fixes
|
||||
Girish Palya autocompletion (ins/cmdline), omnifunc
|
||||
composing, search/subst completion, and more.
|
||||
Hirohito Higashi lots of patches and fixes
|
||||
|
||||
Reference in New Issue
Block a user