diff --git a/dot_config/nvim/exact_lua/exact_plugins/lsp.lua b/dot_config/nvim/exact_lua/exact_plugins/lsp.lua index a5f8726..980c039 100644 --- a/dot_config/nvim/exact_lua/exact_plugins/lsp.lua +++ b/dot_config/nvim/exact_lua/exact_plugins/lsp.lua @@ -47,4 +47,8 @@ return { { "saadparwaiz1/cmp_luasnip" }, { "rafamadriz/friendly-snippets" }, + + { "onsails/lspkind.nvim", + lazy = true, + } } diff --git a/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua b/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua index 41be11f..dd93e0d 100644 --- a/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua +++ b/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua @@ -5,7 +5,7 @@ cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) - vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. + -- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. require('luasnip').lsp_expand(args.body) -- For `luasnip` users. -- require('snippy').expand_snippet(args.body) -- For `snippy` users. -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. @@ -23,8 +23,10 @@ cmp.setup({ -- documentation = cmp.config.window.bordered(), }, mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.select_next_item(), + -- [""] = cmp.mapping.scroll_docs(-4), --已知會衝到,先關閉 + -- [""] = cmp.mapping.scroll_docs(4), --已知會衝到,先關閉 [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. @@ -42,7 +44,16 @@ cmp.setup({ -- { name = 'snippy' }, -- For snippy users. }, { { name = 'buffer' }, - }) + { name = 'path' }, + }), + + formatting = { + format = require("lspkind").cmp_format { + mode = "symbol_text", -- 顯示圖示+文字 + maxwidth = 50, + ellipsis_char = "...", + }, + }, }) -- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below