vim-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: vim/vim#16501

f400a0cc41

Co-authored-by: glepnir <glephunter@gmail.com>
This commit is contained in:
zeertzjq
2025-01-24 06:44:23 +08:00
parent 851137f679
commit 63aa167f94
5 changed files with 40 additions and 9 deletions

View File

@@ -1098,6 +1098,10 @@ vim.go.cia = vim.go.completeitemalign
--- list of alternatives, but not how the candidates are
--- collected (using different completion types).
---
--- nosort Disable sorting of completion candidates based on fuzzy
--- scores when "fuzzy" is enabled. Candidates will appear
--- in their original order.
---
--- @type string
vim.o.completeopt = "menu,preview"
vim.o.cot = vim.o.completeopt