54 lines
1.3 KiB
Lua
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" }
|
|
}
|