chore: proper keymap documentation and more cleanup
This commit is contained in:
parent
6f9ecd5c96
commit
d46086ec26
16 changed files with 348 additions and 109 deletions
|
|
@ -12,6 +12,7 @@ require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" })
|
|||
|
||||
luasnip.config.set_config({
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
enable_autosnippets = true,
|
||||
ext_opts = {
|
||||
|
|
@ -26,9 +27,7 @@ luasnip.config.set_config({
|
|||
},
|
||||
})
|
||||
|
||||
--vim.cmd('let g:snipMate = {"snippet_version" : 1 }')
|
||||
require("luasnip/loaders/from_vscode").lazy_load()
|
||||
--require("luasnip.loaders.from_snipmate").lazy_load()
|
||||
|
||||
local check_backspace = function()
|
||||
local col = vim.fn.col(".") - 1
|
||||
|
|
@ -65,11 +64,6 @@ local kind_icons = {
|
|||
}
|
||||
-- find more here: https://www.nerdfonts.com/cheat-sheet
|
||||
|
||||
--local has_words_before = function()
|
||||
-- local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
-- return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
--end
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
|
|
@ -77,26 +71,13 @@ cmp.setup({
|
|||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<C-k>"] = cmp.mapping.select_prev_item(),
|
||||
--["<C-j>"] = cmp.mapping.select_next_item(),
|
||||
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-1),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(1),
|
||||
["<C-e>"] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
-- mapping = cmp.mapping.preset.insert({
|
||||
-- ['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
-- ['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
-- ['<C-Space>'] = cmp.mapping.complete(),
|
||||
-- ['<C-e>'] = cmp.mapping.abort(),
|
||||
-- ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
-- }),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
|
|
@ -104,13 +85,9 @@ cmp.setup({
|
|||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<C-j>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif check_backspace() then
|
||||
fallback()
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
|
|
@ -118,8 +95,20 @@ cmp.setup({
|
|||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.jumpable(-1) then
|
||||
["<C-j>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<C-k>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expand_or_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
|
|
@ -129,12 +118,13 @@ cmp.setup({
|
|||
"s",
|
||||
}),
|
||||
},
|
||||
view = {
|
||||
{ entries = "native" },
|
||||
},
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(entry, vim_item)
|
||||
-- Kind icons
|
||||
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||
vim_item.menu = ({
|
||||
nvim_lsp = "[LSP]",
|
||||
luasnip = "[Snippet]",
|
||||
|
|
@ -147,26 +137,8 @@ cmp.setup({
|
|||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
--{
|
||||
-- name = "buffer",
|
||||
-- option = {
|
||||
-- keyword_pattern = [[\k\+]],
|
||||
-- }
|
||||
--},
|
||||
{ name = "path" },
|
||||
-- {
|
||||
-- name = "spell",
|
||||
-- option = {
|
||||
-- keep_all_entries = false,
|
||||
-- enable_in_context = function()
|
||||
-- return true
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
},
|
||||
confirm_opts = {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
{ name = "buffer" },
|
||||
},
|
||||
window = {
|
||||
documentation = {
|
||||
|
|
@ -174,7 +146,6 @@ cmp.setup({
|
|||
},
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = false,
|
||||
native_menu = false,
|
||||
ghost_text = true,
|
||||
},
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue