1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/luasnip.lua
2023-10-30 23:02:29 +01:00

48 lines
1.2 KiB
Lua

local M = {
'L3MON4D3/LuaSnip',
dependencies = {
'rafamadriz/friendly-snippets',
},
keys = {
{
'<tab>',
function()
return require('luasnip').jumpable(1) and '<Plug>luasnip-jump-next' or '<tab>'
end,
expr = true,
remap = true,
silent = true,
mode = 'i',
},
{ '<tab>', function() require('luasnip').jump(1) end, mode = 's' },
{ '<s-tab>', function() require('luasnip').jump(-1) end, mode = { 'i', 's' } },
{ '<M-p>', function () require("luasnip").change_choice(-1) end, mode = { 'i', 's'}},
{ '<M-n>', function () require("luasnip").change_choice(1) end, mode = { 'i', 's'}},
},
}
function M.config()
require('luasnip.loaders.from_vscode').lazy_load()
require('luasnip.loaders.from_snipmate').lazy_load()
require('luasnip.loaders.from_lua').lazy_load()
local types = require('luasnip.util.types')
local ls = require('luasnip')
ls.setup({
ext_opts = {
[types.choiceNode] = {
active = {
virt_text = { { '', 'GruvboxOrange' } },
},
},
[types.insertNode] = {
active = {
virt_text = { { '', 'GruvboxBlue' } },
},
},
},
})
end
return M