modify: changes to blink.cmp's menu, keymaps, fuzzy-matcher
also: - set auto_show to true for cmdline & term. - enable `friendly-snippets`.
This commit is contained in:
parent
1d93bad3a4
commit
564c30de26
|
|
@ -21,16 +21,40 @@ return {
|
||||||
-- `friendly-snippets` contains a variety of premade snippets.
|
-- `friendly-snippets` contains a variety of premade snippets.
|
||||||
-- See the README about individual language/framework/plugin snippets:
|
-- See the README about individual language/framework/plugin snippets:
|
||||||
-- https://github.com/rafamadriz/friendly-snippets
|
-- https://github.com/rafamadriz/friendly-snippets
|
||||||
-- {
|
{
|
||||||
-- 'rafamadriz/friendly-snippets',
|
'rafamadriz/friendly-snippets',
|
||||||
-- config = function()
|
config = function()
|
||||||
-- require('luasnip.loaders.from_vscode').lazy_load()
|
require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
-- end,
|
end,
|
||||||
-- },
|
},
|
||||||
},
|
},
|
||||||
opts = {},
|
opts = {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
init = function()
|
||||||
|
-- set autocommand for blink-menu-sourcename.
|
||||||
|
vim.api.nvim_create_autocmd('ColorScheme', {
|
||||||
|
desc = 'set italic to BlinkCmpSource, and try to change fg',
|
||||||
|
group = vim.api.nvim_create_augroup('ColorReadjust', { clear = true }),
|
||||||
|
callback = function()
|
||||||
|
local hl = {
|
||||||
|
default = true,
|
||||||
|
italic = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- if the hl-group for the Menu-Selection has reverse property,
|
||||||
|
-- then don't bother setting fg & bg, because it would be messed up anyway.
|
||||||
|
if not vim.api.nvim_get_hl(0, { name = 'PmenuSel' }).reverse then
|
||||||
|
hl.fg = vim.api.nvim_get_hl(0, { name = 'LspCodeLens' }).fg
|
||||||
|
or vim.api.nvim_get_hl(0, { name = 'BlinkCmpGhostText' }).fg
|
||||||
|
or vim.api.nvim_get_hl(0, { name = 'NonText' }).fg
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_hl(0, 'BlinkCmpSource', hl)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
|
||||||
---@module 'blink.cmp'
|
---@module 'blink.cmp'
|
||||||
---@type blink.cmp.Config
|
---@type blink.cmp.Config
|
||||||
opts = {
|
opts = {
|
||||||
|
|
@ -56,12 +80,40 @@ return {
|
||||||
-- <c-k>: Toggle signature help
|
-- <c-k>: Toggle signature help
|
||||||
--
|
--
|
||||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||||
preset = 'default',
|
-- preset = 'default',
|
||||||
|
--
|
||||||
|
-- I have my own keymaps now
|
||||||
|
['<C-space>'] = { 'show_documentation', 'hide_documentation' },
|
||||||
|
['<C-q>'] = { 'hide', 'fallback' },
|
||||||
|
['<C-l>'] = { 'select_and_accept', 'fallback' },
|
||||||
|
|
||||||
|
['<Up>'] = { 'select_prev', 'fallback' },
|
||||||
|
['<Down>'] = { 'select_next', 'fallback' },
|
||||||
|
['<C-k>'] = { 'select_prev', 'fallback_to_mappings' },
|
||||||
|
['<C-j>'] = { 'show', 'select_next', 'fallback_to_mappings' },
|
||||||
|
|
||||||
|
['<C-S-K>'] = { 'scroll_documentation_up', 'fallback' },
|
||||||
|
['<C-S-J>'] = { 'scroll_documentation_down', 'fallback' },
|
||||||
|
|
||||||
|
['<C-n>'] = { 'snippet_forward', 'fallback_to_mappings' },
|
||||||
|
['<C-p>'] = { 'snippet_backward', 'fallback_to_mappings' },
|
||||||
|
|
||||||
|
['<C-s>'] = { 'show_signature', 'hide_signature', 'fallback' },
|
||||||
|
|
||||||
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
|
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
|
||||||
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
|
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cmdline = {
|
||||||
|
keymap = { preset = 'inherit' },
|
||||||
|
completion = { menu = { auto_show = true } },
|
||||||
|
},
|
||||||
|
|
||||||
|
term = {
|
||||||
|
keymap = { preset = 'inherit' },
|
||||||
|
completion = { menu = { auto_show = true } },
|
||||||
|
},
|
||||||
|
|
||||||
appearance = {
|
appearance = {
|
||||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||||
-- Adjusts spacing to ensure icons are aligned
|
-- Adjusts spacing to ensure icons are aligned
|
||||||
|
|
@ -71,7 +123,30 @@ return {
|
||||||
completion = {
|
completion = {
|
||||||
-- By default, you may press `<c-space>` to show the documentation.
|
-- By default, you may press `<c-space>` to show the documentation.
|
||||||
-- Optionally, set `auto_show = true` to show the documentation after a delay.
|
-- Optionally, set `auto_show = true` to show the documentation after a delay.
|
||||||
documentation = { auto_show = false, auto_show_delay_ms = 500 },
|
documentation = { auto_show = true, auto_show_delay_ms = 1500 },
|
||||||
|
|
||||||
|
menu = {
|
||||||
|
draw = {
|
||||||
|
columns = {
|
||||||
|
-- The following two components are from the default config
|
||||||
|
{ 'kind_icon' },
|
||||||
|
{ 'label', 'label_description', gap = 1 },
|
||||||
|
-- Add `source_name` to parse it and get lsp-provider name
|
||||||
|
{ 'source_name' },
|
||||||
|
},
|
||||||
|
components = {
|
||||||
|
source_name = {
|
||||||
|
width = { fill = true },
|
||||||
|
text = function(ctx)
|
||||||
|
-- either get the client_name aka lsp-provider "like lua_ls"
|
||||||
|
-- or get the source name from blink's list of sources, see below.
|
||||||
|
return ctx.item.client_name or ctx.source_name
|
||||||
|
end,
|
||||||
|
highlight = 'BlinkCmpSource',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
|
|
@ -87,7 +162,7 @@ return {
|
||||||
-- the rust implementation via `'prefer_rust_with_warning'`
|
-- the rust implementation via `'prefer_rust_with_warning'`
|
||||||
--
|
--
|
||||||
-- See :h blink-cmp-config-fuzzy for more information
|
-- See :h blink-cmp-config-fuzzy for more information
|
||||||
fuzzy = { implementation = 'lua' },
|
fuzzy = { implementation = 'prefer_rust_with_warning' },
|
||||||
|
|
||||||
-- Shows a signature help window while you type arguments for a function
|
-- Shows a signature help window while you type arguments for a function
|
||||||
signature = { enabled = true },
|
signature = { enabled = true },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue