patch 9.1.1049: insert-completed items are always sorted

Problem:  insert-completed items are always sorted, although the LSP
          spec[1] standard defines sortText in the returned
          completionitem list. This means that the server has sorted the
          results. When fuzzy is enabled, this will break the server's
          sorting results.
Solution: disable sorting of candidates when "nosort" is set in
          'completeopt'

[1]
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItem

closes: #16501

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
glepnir
2025-01-23 19:55:14 +01:00
committed by Christian Brabandt
parent df098fedbc
commit f400a0cc41
7 changed files with 46 additions and 21 deletions

View File

@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2025 Jan 18
*version9.txt* For Vim version 9.1. Last change: 2025 Jan 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -41560,15 +41560,17 @@ Support for Wayland UI.
Support for the XDG Desktop Specification |xdg-base-dir|
Support highlighting the matched text for insert-mode completion and
command-line completion in |ins-completion-menu|.
Support highlighting the completion kind in |ins-completion-menu|, see
|complete-items|.
Support for translating messages in Vim script plugins using the |gettext()|
and |bindtextdomain()| functions.
Support highlighting the matched text and the completion kind for insert-mode
completion and command-line completion in |ins-completion-menu|, see
|complete-items|
Include the "linematch" algorithm for the 'diffopt' setting. This aligns
changes between buffers on similar lines improving the diff highlighting in
Vim
*changed-9.2*
Changed~
-------
@ -41623,9 +41625,7 @@ Changed~
the "matches" key
- |v:stacktrace| The stack trace of the exception most recently caught and
not finished
- include the linematch algorithm for the 'diffopt' setting. This aligns
changes between buffers on similar lines improving the diff highlighting in
Vim
- New option value "nosort" for 'completeopt'
*added-9.2*
Added ~