nvim: rework completion menu -- big change I'm excited about :D
This commit is contained in:
parent
5d6e349a46
commit
a7b8f06195
1 changed files with 18 additions and 23 deletions
|
@ -150,34 +150,32 @@ M.cmp = function()
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
},
|
},
|
||||||
formatting = {
|
formatting = {
|
||||||
|
fields = { "abbr", "kind", "menu" },
|
||||||
format = function(entry, vim_item)
|
format = function(entry, vim_item)
|
||||||
-- fancy icons and a name of kind
|
-- fancy icons and a name of kind
|
||||||
require('lspkind').cmp_format({
|
local kind = require("lspkind").cmp_format({ mode = "symbol", maxwidth = 50 })(entry, vim_item)
|
||||||
mode = 'symbol', -- show only symbol annotations
|
-- local strings = vim.split(kind.kind, "%s", { trimempty = true })
|
||||||
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
|
|
||||||
|
|
||||||
-- The function below will be called before any actual modifications from lspkind
|
|
||||||
-- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30))
|
|
||||||
-- before = function (entry, vim_item)
|
|
||||||
-- ...
|
|
||||||
-- return vim_item
|
|
||||||
-- end
|
|
||||||
})
|
|
||||||
-- set a name for each source
|
-- set a name for each source
|
||||||
|
vim_item.kind = " " .. kind.kind
|
||||||
vim_item.menu = ({
|
vim_item.menu = ({
|
||||||
path = "[Path]",
|
path = "[path]",
|
||||||
nvim_lua = "[Lua]",
|
emoji = "[emoji]",
|
||||||
nvim_lsp = "[LSP]",
|
nvim_lua = "[lua]",
|
||||||
treesitter = "[TS]",
|
nvim_lsp = "[lsp]",
|
||||||
calc = "[Calc]",
|
treesitter = "[ts]",
|
||||||
spell = "[Spell]",
|
calc = "[calc]",
|
||||||
cmdline = "[cmdline]",
|
spell = "[spell]",
|
||||||
buffer = "[Buffer]",
|
cmdline = "[cmd]",
|
||||||
})[entry.source.name]
|
buffer = "[buf]",
|
||||||
|
luasnip = "[snip]",
|
||||||
|
})[entry.source.name] or "unknown type"
|
||||||
return vim_item
|
return vim_item
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
|
completion = {
|
||||||
|
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
|
||||||
|
},
|
||||||
documentation = {
|
documentation = {
|
||||||
border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
|
border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
|
||||||
},
|
},
|
||||||
|
@ -186,7 +184,6 @@ M.cmp = function()
|
||||||
ghost_text = true,
|
ghost_text = true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Thanks to iwataka on github for this bit
|
-- Thanks to iwataka on github for this bit
|
||||||
local search_config = {
|
local search_config = {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
@ -194,11 +191,9 @@ M.cmp = function()
|
||||||
{ name = 'buffer' },
|
{ name = 'buffer' },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Use buffer source for `/` and `?`
|
-- Use buffer source for `/` and `?`
|
||||||
cmp.setup.cmdline('/', search_config)
|
cmp.setup.cmdline('/', search_config)
|
||||||
cmp.setup.cmdline('?', search_config)
|
cmp.setup.cmdline('?', search_config)
|
||||||
|
|
||||||
-- `:` cmdline setup.
|
-- `:` cmdline setup.
|
||||||
cmp.setup.cmdline(':', {
|
cmp.setup.cmdline(':', {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
|
Loading…
Add table
Reference in a new issue