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;
|
enable = true;
|
||||||
settings.sources = [
|
settings.sources = [
|
||||||
{ name = "nvim_lsp"; }
|
{ name = "nvim_lsp"; }
|
||||||
|
{ name = "luasnip"; }
|
||||||
{ name = "path"; }
|
{ name = "path"; }
|
||||||
{ name = "buffer"; }
|
{ 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-nvim-lsp.enable = true;
|
||||||
|
plugins.cmp_luasnip.enable = true;
|
||||||
plugins.cmp-path.enable = true;
|
plugins.cmp-path.enable = true;
|
||||||
plugins.cmp-buffer.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 ---
|
# --- Format on save ---
|
||||||
plugins.conform-nvim = {
|
plugins.conform-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
Reference in new issue
Block a user