nvim: add minuet-ai and codestral for completion

This commit is contained in:
Daniel Lundin 2025-06-22 23:11:08 +02:00
commit 6d8e419757
Signed by: dln
SSH key fingerprint: SHA256:dQy1Xj3UiqJYpKR5ggQ2bxgz4jCH8IF+k3AB8o0kmdI
3 changed files with 51 additions and 6 deletions
home/common/nvim

View file

@ -5,6 +5,7 @@ require 'blink-cmp'.setup({
['<S-Tab>'] = { 'select_prev', 'fallback' }, ['<S-Tab>'] = { 'select_prev', 'fallback' },
['<PageDown>'] = { 'scroll_documentation_down', 'fallback' }, ['<PageDown>'] = { 'scroll_documentation_down', 'fallback' },
['<PageUp>'] = { 'scroll_documentation_up', 'fallback' }, ['<PageUp>'] = { 'scroll_documentation_up', 'fallback' },
['<A-y>'] = require('minuet').make_blink_map(),
}, },
completion = { completion = {
accept = { accept = {
@ -46,7 +47,11 @@ require 'blink-cmp'.setup({
} }
} }
} }
} },
trigger = {
prefetch_on_insert = false
},
}, },
fuzzy = { fuzzy = {
@ -61,21 +66,30 @@ require 'blink-cmp'.setup({
}, },
cmdline = { cmdline = {
sources = {}, keymap = { preset = 'inherit' },
completion = { menu = { auto_show = true } },
}, },
sources = { sources = {
default = { default = {
'lsp', 'lsp',
'emoji', 'emoji',
'minuet',
}, },
providers = { providers = {
emoji = { emoji = {
module = "blink-emoji", module = "blink-emoji",
name = "Emoji", name = "Emoji",
score_offset = 1, score_offset = -40,
opts = { insert = true }, opts = { insert = true },
} },
minuet = {
name = 'minuet',
module = 'minuet.blink',
async = true,
timeout_ms = 3000, -- Should match minuet.config.request_timeout * 1000
score_offset = -50,
},
}, },
}, },
}) })

View file

@ -48,6 +48,7 @@ in
blink-emoji-nvim blink-emoji-nvim
friendly-snippets friendly-snippets
go-nvim go-nvim
plenary-nvim
targets-vim targets-vim
ts-comments-nvim ts-comments-nvim
@ -115,6 +116,37 @@ in
config = lib.fileContents ./mini.lua; config = lib.fileContents ./mini.lua;
} }
{
plugin = minuet-ai-nvim;
type = "lua";
config = ''
require('minuet').setup {
provider_options = {
codestral = {
optional = {
max_tokens = 256,
stop = { '\n\n' },
},
},
},
virtualtext = {
auto_trigger_ft = {
'go',
'rust',
},
keymap = {
accept = '<A-a>',
accept_line = '<A-A>',
accept_n_lines = '<A-z>',
prev = '<A-[>',
next = '<A-]>',
dismiss = '<A-e>',
},
},
}
'';
}
{ {
plugin = rustaceanvim; plugin = rustaceanvim;
type = "lua"; type = "lua";

View file

@ -114,7 +114,6 @@ local colors = {
} }
local setupGroups = function(c) local setupGroups = function(c)
return { return {
Normal = { fg = c.foreground, bg = c.background }, Normal = { fg = c.foreground, bg = c.background },
@ -231,7 +230,7 @@ local setupGroups = function(c)
BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' },
BlinkCmpGhostText = { fg = c.suggestion, italic = true, bold = true }, BlinkCmpGhostText = { fg = c.suggestion, italic = true, bold = true },
NeoCodeiumSuggestion = { link = 'BlinkCmpGhostText' }, MinuetVirtualText = { link = 'BlinkCmpGhostText' },
LspReferenceText = { fg = c.highlight_intense, undercurl = true }, LspReferenceText = { fg = c.highlight_intense, undercurl = true },
LspInlayHint = { fg = c.accent1, italic = true, bold = true }, LspInlayHint = { fg = c.accent1, italic = true, bold = true },