NVim: snippets

This commit is contained in:
Filippo Berto 2024-04-28 21:50:44 +02:00
parent 7a351e49fe
commit ffbd6a40fe
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED
5 changed files with 197 additions and 14 deletions

View file

@ -60,6 +60,31 @@ let vp = pkgs.vimPlugins; in {
vp.cmp-buffer # source for text in buffer
vp.cmp-path # source for file system path
vp.luasnip
{
plugin = vp.luasnip;
type = "lua";
config = ''
local luasnip = require("luasnip")
local keymap = vim.keymap
keymap.set({"i"}, "<C-K>", function() luasnip.expand() end, {silent = true})
keymap.set({"i", "s"}, "<C-l>", function() luasnip.jump( 1) end, {silent = true})
keymap.set({"i", "s"}, "<C-h>", function() luasnip.jump(-1) end, {silent = true})
vim.keymap.set({"i", "s"}, "<C-E>", function()
if luasnip.choice_active() then
luasnip.change_choice(1)
end
end, {silent = true})
-- loads vscode style snippets from installed plugins (eg. friendly-snippets)
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_vscode").lazy_load({ paths = "${./nvim/snippets}" })
'';
}
vp.cmp_luasnip
vp.friendly-snippets
{
@ -187,6 +212,26 @@ let vp = pkgs.vimPlugins; in {
include_surrounding_whitespace = true,
},
},
highlight = {
enable = true,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn", -- set to `false` to disable one of the mappings
node_incremental = "grn",
scope_incremental = "grc",
node_decremental = "grm",
},
},
indent = {
enable = true
}
}
'';
}
@ -249,6 +294,7 @@ let vp = pkgs.vimPlugins; in {
'';
}
vp.nvim-treesitter-context
];
# settings = { ignorecase = true; };
# coc.enable = true;
@ -310,6 +356,12 @@ let vp = pkgs.vimPlugins; in {
opt.whichwrap:append "<>[]hl"
g.mapleader = " "
-- treesitter folding
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
-- vim.cmd([[ set nofoldenable]])
vim.opt.foldenable = false
'';
};
}