40 lines
1.1 KiB
Lua
40 lines
1.1 KiB
Lua
-- Custom snippet configuration for LuaSnip
|
|
-- Snippets are loaded from ~/.config/nvim/snippets/
|
|
return {
|
|
{
|
|
"L3MON4D3/LuaSnip",
|
|
config = function(_, opts)
|
|
local luasnip = require("luasnip")
|
|
|
|
-- Apply any opts from other configs
|
|
if opts then
|
|
luasnip.setup(opts)
|
|
end
|
|
|
|
-- Load custom snippets from snippets directory
|
|
-- Snippets are written in Lua format for maximum flexibility
|
|
require("luasnip.loaders.from_lua").lazy_load({
|
|
paths = { vim.fn.stdpath("config") .. "/snippets" },
|
|
})
|
|
|
|
-- Also support VS Code style snippets if you have any
|
|
require("luasnip.loaders.from_vscode").lazy_load({
|
|
paths = { vim.fn.stdpath("config") .. "/snippets/vscode" },
|
|
})
|
|
end,
|
|
keys = {
|
|
{
|
|
"<leader>cS",
|
|
function()
|
|
-- Reload all custom snippets
|
|
require("luasnip.loaders.from_lua").load({
|
|
paths = { vim.fn.stdpath("config") .. "/snippets" },
|
|
})
|
|
vim.notify("Snippets reloaded!", vim.log.levels.INFO)
|
|
end,
|
|
desc = "Reload Snippets",
|
|
},
|
|
},
|
|
},
|
|
}
|