feat(neovim): add snippets, autopairs and surround
This commit is contained in:
1 parent
656fc82d7f
commit
5d9cd9d835
1 file changed
+41
@@ -87,14 +87,55 @@
|
||||
enable = true;
|
||||
settings.sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "luasnip"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
settings.snippet.expand = ''
|
||||
function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end
|
||||
'';
|
||||
settings.mapping = {
|
||||
"<Tab>" = ''
|
||||
cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif require("luasnip").expand_or_jumpable() then
|
||||
require("luasnip").expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" })
|
||||
'';
|
||||
"<S-Tab>" = ''
|
||||
cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif require("luasnip").jumpable(-1) then
|
||||
require("luasnip").jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" })
|
||||
'';
|
||||
};
|
||||
};
|
||||
plugins.cmp-nvim-lsp.enable = true;
|
||||
plugins.cmp_luasnip.enable = true;
|
||||
plugins.cmp-path.enable = true;
|
||||
plugins.cmp-buffer.enable = true;
|
||||
|
||||
# --- Snippets ---
|
||||
plugins.luasnip = {
|
||||
enable = true;
|
||||
fromVscode = [ { paths = "${pkgs.vimPlugins.friendly-snippets}"; } ];
|
||||
};
|
||||
|
||||
# --- Pairs and surrounding text ---
|
||||
plugins.nvim-autopairs.enable = true;
|
||||
plugins.nvim-surround.enable = true;
|
||||
|
||||
# --- Format on save ---
|
||||
plugins.conform-nvim = {
|
||||
enable = true;
|
||||
|
||||
Reference in new issue
Block a user