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 09e7fd5..28ab3f9 100644 --- a/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua +++ b/dot_config/nvim/exact_lua/lsp/exact_config/cmp.lua @@ -18,6 +18,36 @@ cmp.setup({ -- require("cmp.config").set_onetime({ sources = {} }) end, }, + -- 設定來源 + -- + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + -- { name = 'vsnip' }, -- For vsnip users. + { name = 'luasnip' }, -- For luasnip users. + -- { name = 'ultisnips' }, -- For ultisnips users. + -- { name = 'snippy' }, -- For snippy users. + }, { + { name = 'buffer' }, + { name = 'path' }, + }), + + -- 按鍵對應 + mapping = cmp.mapping.preset.insert({ + [""] = 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. + + -- AI範例: + -- [""] = cmp.mapping.select_next_item(), + -- [""] = cmp.mapping.select_prev_item(), + -- [""] = cmp.mapping.confirm({ select = true }), + }), + + -- 外觀設定 window = { completion = { winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", @@ -36,30 +66,6 @@ cmp.setup({ return kind end, }, - mapping = cmp.mapping.preset.insert({ - [""] = 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. - - -- AI範例: - -- [""] = cmp.mapping.select_next_item(), - -- [""] = cmp.mapping.select_prev_item(), - -- [""] = cmp.mapping.confirm({ select = true }), - }), - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - -- { name = 'vsnip' }, -- For vsnip users. - { name = 'luasnip' }, -- For luasnip users. - -- { name = 'ultisnips' }, -- For ultisnips users. - -- { name = 'snippy' }, -- For snippy users. - }, { - { name = 'buffer' }, - { name = 'path' }, - }), }) -- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below