aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/completion.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/lsp/completion.lua')
-rw-r--r--runtime/lua/vim/lsp/completion.lua18
1 files changed, 12 insertions, 6 deletions
diff --git a/runtime/lua/vim/lsp/completion.lua b/runtime/lua/vim/lsp/completion.lua
index 2e6d82b367..b935c48d3c 100644
--- a/runtime/lua/vim/lsp/completion.lua
+++ b/runtime/lua/vim/lsp/completion.lua
@@ -235,14 +235,20 @@ function M._lsp_to_complete_items(result, prefix, client_id)
return {}
end
- local matches = prefix == '' and function()
- return true
- end or function(item)
- if item.filterText then
- return next(vim.fn.matchfuzzy({ item.filterText }, prefix))
+ ---@type fun(item: lsp.CompletionItem):boolean
+ local matches
+ if prefix == '' then
+ matches = function(_)
+ return true
+ end
+ else
+ ---@param item lsp.CompletionItem
+ matches = function(item)
+ local text = item.filterText or item.label
+ return next(vim.fn.matchfuzzy({ text }, prefix)) ~= nil
end
- return true
end
+
local candidates = {}
for _, item in ipairs(items) do
if matches(item) then