mirror of
https://github.com/pnx/dotfiles
synced 2026-06-16 19:30:01 +02:00
44 lines
818 B
Lua
44 lines
818 B
Lua
local luasnip = require("luasnip")
|
|
local cmp = require("cmp")
|
|
|
|
local M = {}
|
|
|
|
function M.selectNext(opts)
|
|
return cmp.mapping(function(fallback)
|
|
if cmp.visible() then
|
|
cmp.select_next_item(opts or {})
|
|
elseif luasnip.locally_jumpable(1) then
|
|
luasnip.jump(1)
|
|
else
|
|
fallback()
|
|
end
|
|
end, { "i", "s" })
|
|
end
|
|
|
|
function M.selectPrev(opts)
|
|
return cmp.mapping(function(fallback)
|
|
if cmp.visible() then
|
|
cmp.select_prev_item(opts or {})
|
|
elseif luasnip.locally_jumpable(-1) then
|
|
luasnip.jump(-1)
|
|
else
|
|
fallback()
|
|
end
|
|
end, { "i", "s" })
|
|
end
|
|
|
|
function M.confirm(opts)
|
|
return cmp.mapping(function(fallback)
|
|
if cmp.visible() then
|
|
-- if luasnip.expand_or_jumpable() then
|
|
-- luasnip.expand_or_jump()
|
|
-- else
|
|
cmp.confirm(opts or {})
|
|
-- end
|
|
else
|
|
fallback()
|
|
end
|
|
end)
|
|
end
|
|
|
|
return M
|