Skip to main content

Luasnip

info

You can enable the extra with the :LazyExtras command. Plugins marked as optional will only be configured if they are installed.

Below you can find a list of included plugins and their default settings.

caution

You don't need to copy the default settings to your config. They are only shown here for reference.

LuaSnip​

add luasnip

opts = {
history = true,
delete_check_events = "TextChanged",
}

friendly-snippets​

opts = {}

LuaSnip​

add snippet_forward action

opts = function()
LazyVim.cmp.actions.snippet_forward = function()
if require("luasnip").jumpable(1) then
vim.schedule(function()
require("luasnip").jump(1)
end)
return true
end
end
LazyVim.cmp.actions.snippet_stop = function()
if require("luasnip").expand_or_jumpable() then -- or just jumpable(1) is fine?
require("luasnip").unlink_current()
return true
end
end
end

cmp_luasnip​

opts = nil

nvim-cmp (optional)​

nvim-cmp integration

opts = function(_, opts)
opts.snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
}
table.insert(opts.sources, { name = "luasnip" })
end

blink.cmp (optional)​

blink.cmp integration

opts = {
snippets = {
preset = "luasnip",
},
}