mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 06:39:14 +00:00
nvim/cmp: use better default mappings
This commit is contained in:
parent
760875108c
commit
b6522ffbba
1 changed files with 16 additions and 64 deletions
|
|
@ -1,15 +1,15 @@
|
|||
local cmp = require("cmp")
|
||||
local ls = require("luasnip")
|
||||
local luasnip = require("luasnip")
|
||||
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local t = ls.text_node
|
||||
local s = luasnip.snippet
|
||||
local sn = luasnip.snippet_node
|
||||
local t = luasnip.text_node
|
||||
local cr = function() return t { "", "" } end -- linebreak
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local i = luasnip.insert_node
|
||||
local f = luasnip.function_node
|
||||
local c = luasnip.choice_node
|
||||
local d = luasnip.dynamic_node
|
||||
local r = luasnip.restore_node
|
||||
local l = require("luasnip.extras").lambda
|
||||
local rep = require("luasnip.extras").rep
|
||||
local p = require("luasnip.extras").partial
|
||||
|
|
@ -36,13 +36,13 @@ require("luasnip.loaders.from_vscode").lazy_load { paths = { "./snippets" } }
|
|||
----------
|
||||
-- Init --
|
||||
----------
|
||||
ls.setup { update_events = { "TextChanged", "TextChangedI" } }
|
||||
luasnip.setup { update_events = { "TextChanged", "TextChangedI" } }
|
||||
|
||||
-----------
|
||||
-- Typst --
|
||||
-----------
|
||||
local function show_date_typst_entry() return os.date('"%Y-%m-%d %H:%M:%S"') end
|
||||
ls.add_snippets("typst", {
|
||||
luasnip.add_snippets("typst", {
|
||||
s("entry", {
|
||||
t("#entry("),
|
||||
f(show_date_typst_entry),
|
||||
|
|
@ -91,7 +91,7 @@ local function right()
|
|||
end
|
||||
|
||||
-- stylua: ignore start
|
||||
ls.add_snippets("all", {
|
||||
luasnip.add_snippets("all", {
|
||||
s("banner", {
|
||||
f(horizon, { 1 }), cr(),
|
||||
f(left), i(1), f(right), cr(),
|
||||
|
|
@ -104,13 +104,13 @@ ls.add_snippets("all", {
|
|||
-- Haskell --
|
||||
-------------
|
||||
local haskell_snippets = require("haskell-snippets").all
|
||||
ls.add_snippets("haskell", haskell_snippets, { key = "haskell" })
|
||||
luasnip.add_snippets("haskell", haskell_snippets, { key = "haskell" })
|
||||
|
||||
------------
|
||||
-- Golang --
|
||||
------------
|
||||
-- stylua: ignore start
|
||||
ls.add_snippets("go", {
|
||||
luasnip.add_snippets("go", {
|
||||
s("ie", {
|
||||
t("if err != nil {"), cr(),
|
||||
t("\t"), i(0), cr(),
|
||||
|
|
@ -134,57 +134,9 @@ end
|
|||
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args) ls.lsp_expand(args.body) end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
["<Tab>"] = cmp.mapping(function(fallback) -- Next or jump
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif ls.expand_or_locally_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
elseif has_words_before() and (not of_filetype { "ledger" }) then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback) -- Previous
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<A-Tab>"] = cmp.mapping(function(fallback) -- Force jump
|
||||
if ls.expand_or_locally_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<CR>"] = cmp.mapping(function(fallback) -- Confirm
|
||||
if cmp.visible() then
|
||||
cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Insert,
|
||||
select = true,
|
||||
}()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-CR>"] = cmp.mapping(function(fallback) -- Confirm and replace
|
||||
if cmp.visible() then
|
||||
cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true,
|
||||
}()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
expand = function(args) luasnip.lsp_expand(args.body) end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert(),
|
||||
sources = {
|
||||
{ name = "luasnip" },
|
||||
{ name = "nvim_lsp" },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue