diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-01-22 23:10:14 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-01-22 23:10:14 +0100 |
| commit | 5facf1c16c0f95c5017da137e268989d8e9b1152 (patch) | |
| tree | c94aa3a3c2a5aeb1dafe48e6c6bfaefde6b8d722 /config/nvim | |
| parent | 4f0b5fad61739d77fa0a4bb48bff42b9c870c2e4 (diff) | |
feat(nvim): prioritize method and functions
Diffstat (limited to 'config/nvim')
| -rw-r--r-- | config/nvim/lua/plugins/blink.lua | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/config/nvim/lua/plugins/blink.lua b/config/nvim/lua/plugins/blink.lua index 6e2ac83..f710618 100644 --- a/config/nvim/lua/plugins/blink.lua +++ b/config/nvim/lua/plugins/blink.lua @@ -33,12 +33,24 @@ return { implementation = "prefer_rust_with_warning", max_typos = function(keyword) return math.floor(#keyword / 8) end, sorts = { + -- kind priority: + -- 1. keyword + -- 2. variable + -- 3. methods + -- 4. function function(a, b) - local kind = require('blink.cmp.types').CompletionItemKind.Keyword - if a.kind == kind and b.kind ~= kind then - return true - elseif a.kind ~= kind and b.kind == kind then - return false + local index = function(t, v) + for index, value in ipairs(t) do + if value == v then return index end + end + return 100 -- using 100 because it is unlikely that I have more than 100 priorities + end + local kind = require('blink.cmp.types').CompletionItemKind + local priority = { kind.Keyword, kind.Variable, kind.Method, kind.Function } + local aIn = index(priority, a) + local bIn = index(priority, b) + if aIn ~= bIn then + return aIn > bIn end end, 'score', |
