t0vim/lua/custom/luasnip.lua
2025-02-02 00:41:42 +03:00

34 lines
861 B
Lua

local ls = require "luasnip"
local types = require "luasnip.util.types"
ls.config.set_config {
history = true,
updateevents = "TextChanged, TextChangedI",
enable_autosnippets = true,
store_selection_keys = "<c-s>",
}
vim.keymap.set({ "i", "s" }, "<c-k>", function()
if ls.expand_or_jumpable() then
ls.expand_or_jump()
end
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<c-j>", function()
if ls.jumpable() then
ls.jump(-1)
end
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<c-l>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end, { silent = true })
vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/lua/custom/luasnip.lua<CR>")
-- Load custom snippets
for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/custom/snippets/*.lua", true)) do
loadfile(ft_path)()
end