Files
nvim/lua/plugins/default/luasnip.lua

71 lines
1.8 KiB
Lua
Raw Normal View History

2025-05-13 19:37:28 +10:00
return {
{
"L3MON4D3/LuaSnip",
config = function()
require("luasnip").config.set_config({
enable_autosnippets = true,
store_selection_keys = "`",
})
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/LuaSnip" })
local auto_expand = require("luasnip").expand_auto
require("luasnip").expand_auto = function(...)
vim.o.undolevels = vim.o.undolevels
auto_expand(...)
end
-- local types = require("luasnip.util.types")
-- require("luasnip").config.setup({
-- ext_opts = {
-- [types.choiceNode] = {
-- active = {
-- virt_text = { { "●", "GruvboxOrange" } },
-- },
-- },
-- [types.insertNode] = {
-- active = {
-- virt_text = { { "●", "GruvboxBlue" } },
-- },
-- },
-- },
-- })
end,
keys = function()
return {
{
"fj",
function()
return require("luasnip").expand_or_locally_jumpable() and "<Plug>luasnip-jump-next"
-- or "<c-\\><c-n>:call searchpair('[([{<|]', '', '[)\\]}>|]', 'W')<cr>a"
end,
expr = true,
silent = true,
mode = "i",
},
{
"fj",
function()
return require("luasnip").jump(1)
end,
mode = "s",
},
{
"fk",
function()
require("luasnip").jump(-1)
end,
mode = { "i", "s" },
},
{
"<c-h>",
"<Plug>luasnip-next-choice",
mode = { "i", "s" },
},
{
"<c-p>",
"<Plug>luasnip-prev-choice",
mode = { "i", "s" },
},
}
end,
},
}