From 966d12ac730c83da90d60ab24eae539b2ea69441 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 24 Sep 2025 00:14:04 +0200 Subject: Update/Overhaul --- lua/plugins/snippets.lua | 89 +++++++++++++++--------------------------------- 1 file changed, 27 insertions(+), 62 deletions(-) mode change 100644 => 100755 lua/plugins/snippets.lua (limited to 'lua/plugins/snippets.lua') diff --git a/lua/plugins/snippets.lua b/lua/plugins/snippets.lua old mode 100644 new mode 100755 index 7df6b2f..989ad8a --- a/lua/plugins/snippets.lua +++ b/lua/plugins/snippets.lua @@ -1,68 +1,33 @@ -local ls = require "luasnip" -- +local M = {} -require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" }) ---local options = { -ls.config.set_config { - history = true, - updateevents = "TextChanged,TextChangedI", - -- Autosnippets: - enable_autosnippets = true, -- - region_check_events = "InsertEnter", - delete_check_events = "TextChanged", - update_events = "TextChanged,TextChangedI", - store_selection_keys = "", - ext_opts = { -- - [require("luasnip.util.types").choiceNode] = { - active = { - virt_text = { { "«", "GruvboxOrange" } }, - }, - }, - }, -} - ---local keymap = vim.keymap ---local keymap = vim.api.nvim_set_keymap -local keymap = vim.keymap.set ---keymap('i', '', 'luasnip#expand_or_jumpable() ? "luasnip-expand-or-jump" : ""', {expr = true, silent = true}) -keymap({ "i", "s"}, "", function() - if ls.expand_or_jumpable() then - ls.expand() - end -end) - -keymap({ "i", "s"}, "", function() - if ls.jumpable(1) then - ls.jump(1) +function M.setup() + local ok, ls = pcall(require, "luasnip") + if not ok or not ls then + return false end -end) -keymap({ "i", "s"}, "", function() - if ls.jumpable(-1) then - ls.jump(-1) - end -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) -keymap({ "i", "s"}, "", function() - if ls.choice_active() then - ls.change_choice(1) - end -end) + ls.config.set_config { + history = true, + updateevents = "TextChanged,TextChangedI", + enable_autosnippets = true, + region_check_events = "InsertEnter", + delete_check_events = "TextChanged", + store_selection_keys = "", + ext_opts = { + [require("luasnip.util.types").choiceNode] = { + active = { + virt_text = { { "«", "GruvboxOrange" } }, + }, + }, + }, + } -keymap({ "i", "s"}, "", function() - if ls.choice_active() then - ls.change_choice(-1) - end -end) + return true +end --- Character class Matching --- %a letters (A-Z, a-z) --- %c control characters (\n, \t, \r, ...) --- %d digits (0-9) --- %l lower-case letter (a-z) --- %p punctuation characters (!, ?, &, ...) --- %s space characters --- %u upper-case letters --- %w alphanumeric characters (A-Z, a-z, 0-9) --- %x hexadecimal digits (\3, \4, ...) --- %z the character with representation 0 --- . Matches any character +return M -- cgit v1.2.3