Add nvim-lazy submodule and add plugin configuration.
This commit is contained in:
parent
f545e30831
commit
b1ad0b623a
39 changed files with 1599 additions and 0 deletions
55
pkgsets/nvim/cmp.nix
Normal file
55
pkgsets/nvim/cmp.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
lib.mkIf (lib.elem "nvim::cmp" config.machine.pkgs) {
|
||||
programs.nvim-lazy.lazyPlugins = [
|
||||
# Autocompletion
|
||||
{
|
||||
dir = vPlug: vPlug.nvim-cmp;
|
||||
event = [ "InsertEnter" ];
|
||||
dependencies = (
|
||||
vPlug: with vPlug; [
|
||||
luasnip
|
||||
]
|
||||
);
|
||||
config = # lua
|
||||
''
|
||||
function()
|
||||
${
|
||||
lib.optionalString (lib.elem "nvim::lsp" config.machine.pkgs) # lua
|
||||
''
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_cmp()
|
||||
''
|
||||
}
|
||||
|
||||
local cmp = require('cmp')
|
||||
local cmp_action = lsp_zero.cmp_action()
|
||||
|
||||
cmp.setup({
|
||||
${
|
||||
lib.optionalString (lib.elem "nvim::lsp" config.machine.pkgs) # lua
|
||||
''formatting = lsp_zero.cmp_format(),''
|
||||
}
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
||||
})
|
||||
})
|
||||
end
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
dir = vPlug: vPlug.luasnip;
|
||||
lazy = true;
|
||||
}
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue