mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-02-05 11:33:15 +01:00
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 directory contains Vim scripts for syntax highlighting. These scripts are not for a language, but are used by Vim itself: syntax.vim Used for the ":syntax on" command. Uses synload.vim. manual.vim Used for the ":syntax manual" command. Uses synload.vim. synload.vim Contains autocommands to load a language file when a certain file name (extension) is used. And sets up the Syntax menu for the GUI. nosyntax.vim Used for the ":syntax off" command. Undo the loading of synload.vim. The "shared" directory contains generated files and what is used by more than one syntax. A few special files: 2html.vim Converts any highlighted file to HTML (GUI only). colortest.vim Check for color names and actual color on screen. hitest.vim View the current highlight settings. whitespace.vim View Tabs and Spaces. If you want to write a syntax file, read the docs at ":help usr_44.txt". If you make a new syntax file which would be useful for others, please send it to the vim-dev mailing list <vim-dev@vim.org>. Include instructions for detecting the file type for this language, by file name extension or by checking a few lines in the file. And please write the file in a portable way, see ":help 44.12". If you have remarks about an existing file, send them to the maintainer of that file. Only when you get no response send a message to the vim-dev mailing list: <vim-dev@vim.org>. If you are the maintainer of a syntax file and make improvements, send the new version to the vim-dev mailing list: <vim-dev@vim.org> For further info see ":help syntax" in Vim.