nixvim/plugins/blink-cmp.nix
Lander Van den Bulcke 5c5c106495
wip
Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
2025-10-18 20:14:59 +02:00

69 lines
1.6 KiB
Nix

{ lib, ... }:
let
inherit (lib.nixvim) mkRaw;
in
{
plugins = {
blink-cmp = {
enable = true;
settings = {
completion.menu.border = "rounded";
keymap = {
"<C-j>" = [
"select_next"
"fallback"
];
"<C-k>" = [
"select_prev"
"fallback"
];
"<c-l>" = [
"snippet_forward"
"fallback"
];
"<c-h>" = [
"snippet_backward"
"fallback"
];
"<c-u>" = [
"scroll_documentation_up"
"fallback"
];
"<c-d>" = [
"scroll_documentation_down"
"fallback"
];
"<C-space>" = [
(
# lua
mkRaw ''
function(cmp)
local ok,_ = pcall(require, "copilot")
if ok then
vim.g.copilot_no_tab_map = true
vim.g.copilot_assume_mapped = true
vim.g.copilot_tab_fallback = ""
local suggestion = require("copilot.suggestion")
if suggestion.is_visible() then
suggestion.accept()
else
if cmp.snippet_active() then
return cmp.select_and_accept()
else
return cmp.accept()
end
end
end
end
''
)
];
};
};
};
};
}