From 84a2cf373247b66e8d767792904a11825a9e9450 Mon Sep 17 00:00:00 2001 From: Mora Unie Youer Date: Wed, 16 Jul 2025 12:41:51 +0300 Subject: feat: add LuaSnip as snippet engine --- flake.nix | 5 +++++ lua/config/plugins/completion.lua | 2 ++ lua/config/plugins/init.lua | 1 + lua/config/plugins/snippets.lua | 13 +++++++++++++ 4 files changed, 21 insertions(+) create mode 100644 lua/config/plugins/snippets.lua diff --git a/flake.nix b/flake.nix index 9f096a8..6b9a9b6 100644 --- a/flake.nix +++ b/flake.nix @@ -231,6 +231,11 @@ ]; completion = [ blink-cmp ]; + snippets = [ + luasnip + friendly-snippets + ]; + # NOTE: On NeoVim 0.11+ nvim-lspconfig is not required due to native API lsp = [ lazydev-nvim ]; diff --git a/lua/config/plugins/completion.lua b/lua/config/plugins/completion.lua index 2b7e69d..64fdf6c 100644 --- a/lua/config/plugins/completion.lua +++ b/lua/config/plugins/completion.lua @@ -45,6 +45,8 @@ return { ghost_text = { enabled = true }, }, + snippets = { preset = "luasnip" }, + cmdline = { completion = { ghost_text = { enabled = false }, diff --git a/lua/config/plugins/init.lua b/lua/config/plugins/init.lua index f7c44fd..3c372a0 100644 --- a/lua/config/plugins/init.lua +++ b/lua/config/plugins/init.lua @@ -54,6 +54,7 @@ require("lze").load({ { import = "config.plugins.treesitter" }, { import = "config.plugins.mini" }, { import = "config.plugins.completion" }, + { import = "config.plugins.snippets" }, { import = "config.plugins.formatting" }, { import = "config.plugins.git" }, { import = "config.plugins.debug" }, diff --git a/lua/config/plugins/snippets.lua b/lua/config/plugins/snippets.lua new file mode 100644 index 0000000..5a37b0c --- /dev/null +++ b/lua/config/plugins/snippets.lua @@ -0,0 +1,13 @@ +return { + { + "luasnip", + dep_of = { "blink.cmp" }, + load = function(name) + vim.cmd.packadd(name) + vim.cmd.packadd("friendly-snippets") + end, + after = function(_) + require("luasnip.loaders.from_vscode").lazy_load() + end, + }, +} -- cgit v1.2.3-70-g09d2