From 5facf1c16c0f95c5017da137e268989d8e9b1152 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 22 Jan 2026 23:10:14 +0100 Subject: feat(nvim): prioritize method and functions --- config/nvim/lua/plugins/blink.lua | 22 +++++++++++++++++----- 1 file 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', -- cgit v1.2.3