Files
dotfiles/.config/nvim/lua/plugins/blink.lua
T
2025-09-06 02:09:13 -05:00

54 lines
1.3 KiB
Lua

return {
'saghen/blink.cmp',
dependencies = {
'rafamadriz/friendly-snippets',
'ribru17/blink-cmp-spell'
},
version = '1.*',
opts = {
keymap = {
preset = 'default',
['<Tab>'] = {'accept', 'fallback'},
['<A-k>'] = {'select_prev', 'fallback'},
['<A-j>'] = {'select_next', 'fallback'},
},
appearance = {
nerd_font_variant = 'mono'
},
completion = { documentation = { auto_show = false } },
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer', 'spell' },
providers = {
-- ...
spell = {
name = 'Spell',
module = 'blink-cmp-spell',
opts = {
-- EXAMPLE: Only enable source in `@spell` captures, and disable it
-- in `@nospell` captures.
enable_in_context = function()
local curpos = vim.api.nvim_win_get_cursor(0)
local captures = vim.treesitter.get_captures_at_pos(
0,
curpos[1] - 1,
curpos[2] - 1
)
local in_spell_capture = false
for _, cap in ipairs(captures) do
if cap.capture == 'spell' then
in_spell_capture = true
elseif cap.capture == 'nospell' then
return false
end
end
return in_spell_capture
end,
},
},
},
},
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
}