Compare commits

...

2 Commits

Author SHA1 Message Date
Moritz Böhme a14f999ab9
feat(nvim): add python snippets 2024-02-11 21:14:21 +01:00
Moritz Böhme 96697c684c
feat(nvim): improve cmp + luasnip keybinds 2024-02-11 21:13:50 +01:00
2 changed files with 57 additions and 10 deletions

View File

@ -10,6 +10,9 @@ cmp.setup({
ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead
}), }),
}, },
enabled = function()
return not luasnip.jumpable(1)
end,
snippet = { snippet = {
-- REQUIRED - you must specify a snippet engine -- REQUIRED - you must specify a snippet engine
expand = function(args) expand = function(args)
@ -23,19 +26,19 @@ cmp.setup({
["<S-CR>"] = cmp.mapping.abort(), ["<S-CR>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }), ["<CR>"] = cmp.mapping.confirm({ select = true }),
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(1) then if cmp.visible() then
luasnip.jump(1)
elseif cmp.visible() then
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select }) cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
elseif luasnip.jumpable(1) then
luasnip.jump(1)
else else
fallback() fallback()
end end
end, { "i", "s" }), end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback) ["<S-Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(-1) then if cmp.visible() then
luasnip.jump(-1)
elseif cmp.visible() then
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select }) cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select })
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else else
fallback() fallback()
end end
@ -43,8 +46,6 @@ cmp.setup({
["<C-n>"] = cmp.mapping(function(fallback) ["<C-n>"] = cmp.mapping(function(fallback)
if luasnip.choice_active() then if luasnip.choice_active() then
luasnip.change_choice(1) luasnip.change_choice(1)
elseif cmp.visible() then
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
else else
fallback() fallback()
end end
@ -52,8 +53,6 @@ cmp.setup({
["<C-p>"] = cmp.mapping(function(fallback) ["<C-p>"] = cmp.mapping(function(fallback)
if luasnip.choice_active() then if luasnip.choice_active() then
luasnip.change_choice(-1) luasnip.change_choice(-1)
elseif cmp.visible() then
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select })
else else
fallback() fallback()
end end

View File

@ -183,6 +183,51 @@ local dot_try = postfix(".try", {
end), end),
}) })
local parr = s(
"parr",
fmt(
[[
:param {name}: {description}
:type {name}: {type}
]],
{
name = i(1, "name"),
description = i(2, "description"),
type = i(3, "type"),
},
{
repeat_duplicates = true,
}
)
)
local retr = s(
"retr",
fmt(
[[
:return: {description}
:rtype: {rtype}
]],
{
description = i(1, "description"),
rtype = i(2, "rtype"),
}
)
)
local raisr = s(
"raisr",
fmt(
[[
:raises {exception}: {description}
]],
{
exception = i(1, "Exception"),
description = i(2, "description"),
}
)
)
return { return {
def, def,
defs, defs,
@ -191,4 +236,7 @@ return {
dot_items, dot_items,
dot_try, dot_try,
enum, enum,
parr,
retr,
raisr,
} }