NVim: snippets
This commit is contained in:
parent
7a351e49fe
commit
ffbd6a40fe
5 changed files with 197 additions and 14 deletions
|
|
@ -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
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue