Files
neovim/runtime/doc
zeertzjq 2c6469aca4 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

cbcbff8712

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-11-28 10:10:31 +08:00
..
2025-09-16 11:41:36 +08:00
2025-11-15 22:47:38 -05:00
2025-11-16 20:36:07 -08:00
2025-07-10 21:50:46 -04:00
2025-11-15 22:47:38 -05:00
2024-05-15 23:19:26 +02:00
2025-04-27 15:44:11 -07:00
2025-11-16 20:36:07 -08:00
2025-11-15 22:47:38 -05:00
2023-06-25 17:14:28 +02:00
2025-11-16 00:55:28 -05:00
2025-11-16 00:55:28 -05:00
2025-11-16 00:55:28 -05:00
2025-06-14 17:24:36 +02:00
2025-11-15 22:47:38 -05:00
2025-09-28 20:57:59 -07:00
2025-11-24 15:10:05 -08:00
2025-11-23 20:03:13 -05:00
2025-11-16 20:36:07 -08:00
2025-11-22 19:32:45 -05:00
2025-01-03 08:29:36 -08:00