summaryrefslogtreecommitdiff
path: root/public/nvim/.nvim/lua/plugins/core/luasnip.lua
diff options
context:
space:
mode:
authorChristian Segundo2023-10-12 15:29:11 +0200
committerChristian Segundo2023-10-12 15:29:11 +0200
commit542613a0f58ccb3722c93b4b68677d7b5053fd57 (patch)
tree04a940df3e75a4b4cbe53cc3392c4e1c63fc8c6f /public/nvim/.nvim/lua/plugins/core/luasnip.lua
parent449a6f57a36862a8ff27b2a3cee0922f4e4d949e (diff)
downloaddotfiles-542613a0f58ccb3722c93b4b68677d7b5053fd57.tar.gz
Add nvim
Diffstat (limited to 'public/nvim/.nvim/lua/plugins/core/luasnip.lua')
-rw-r--r--public/nvim/.nvim/lua/plugins/core/luasnip.lua50
1 files changed, 50 insertions, 0 deletions
diff --git a/public/nvim/.nvim/lua/plugins/core/luasnip.lua b/public/nvim/.nvim/lua/plugins/core/luasnip.lua
new file mode 100644
index 0000000..622af58
--- /dev/null
+++ b/public/nvim/.nvim/lua/plugins/core/luasnip.lua
@@ -0,0 +1,50 @@
+return {
+ {
+ "L3MON4D3/LuaSnip",
+ dependencies = { "rafamadriz/friendly-snippets" },
+ build = "make install_jsregexp",
+ config = function()
+ local ls = require("luasnip")
+ local types = require("luasnip.util.types")
+
+ ls.config.set_config({
+ history = true,
+ updateevents = "TextChanged,TextChangedI",
+ enable_autosnippets = true,
+ ext_opts = {
+ [types.choiceNode] = {
+ active = {
+ virt_text = { { "<-", "Error" } },
+ },
+ },
+ },
+ })
+
+ -- luasnip keymaps are defined as cmp keymaps
+
+ vim.keymap.set(
+ "n",
+ "<leader><leader>s",
+ '<cmd>lua require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/lua/snippets" })<CR>'
+ )
+
+ require("luasnip.loaders.from_lua").lazy_load({ paths = "~/.config/nvim/lua/snippets" })
+ end,
+ },
+
+ -- VSCode like (JSON) snippets
+ -- For the full list of supported languages see:
+ -- https://github.com/rafamadriz/friendly-snippets/blob/main/package.json
+ {
+ "rafamadriz/friendly-snippets",
+ opts = { include = {} },
+ config = function(_, opts)
+ if #opts.include == 0 then
+ return
+ end
+
+ opts.path = "~/.local/share/nvim/lazy/friendly-snippets"
+ require("luasnip.loaders.from_vscode").lazy_load(opts)
+ end,
+ },
+}