aboutsummaryrefslogtreecommitdiff
path: root/common/nvim/lua/plugins/snippets.lua
diff options
context:
space:
mode:
Diffstat (limited to 'common/nvim/lua/plugins/snippets.lua')
-rwxr-xr-xcommon/nvim/lua/plugins/snippets.lua33
1 files changed, 33 insertions, 0 deletions
diff --git a/common/nvim/lua/plugins/snippets.lua b/common/nvim/lua/plugins/snippets.lua
new file mode 100755
index 0000000..989ad8a
--- /dev/null
+++ b/common/nvim/lua/plugins/snippets.lua
@@ -0,0 +1,33 @@
+local M = {}
+
+function M.setup()
+ local ok, ls = pcall(require, "luasnip")
+ if not ok or not ls then
+ return false
+ end
+
+ -- Safely load snippets
+ pcall(function() require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" }) end)
+ pcall(function() require("luasnip.loaders.from_vscode").lazy_load() end)
+ pcall(function() require("luasnip.loaders.from_snipmate").lazy_load() end)
+
+ ls.config.set_config {
+ history = true,
+ updateevents = "TextChanged,TextChangedI",
+ enable_autosnippets = true,
+ region_check_events = "InsertEnter",
+ delete_check_events = "TextChanged",
+ store_selection_keys = "<Tab>",
+ ext_opts = {
+ [require("luasnip.util.types").choiceNode] = {
+ active = {
+ virt_text = { { "«", "GruvboxOrange" } },
+ },
+ },
+ },
+ }
+
+ return true
+end
+
+return M