From dfc3c98bf6097761ccaffd1050ac11beb518bcee Mon Sep 17 00:00:00 2001 From: Thomas Alcala Schneider Date: Fri, 19 May 2023 14:58:09 +0200 Subject: [PATCH] feat: fix copilot completion --- lua/custom/plugins/copilot.lua | 9 ++++++--- lua/custom/plugins/nvim-cmp.lua | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/lua/custom/plugins/copilot.lua b/lua/custom/plugins/copilot.lua index 045c37f9..4c5aada3 100644 --- a/lua/custom/plugins/copilot.lua +++ b/lua/custom/plugins/copilot.lua @@ -20,9 +20,12 @@ return { -- nnoremap ct :CopilotToggle -- ]] - -- vim.g.copilot_no_tab_map = true - vim.g.copilot_assume_mapped = true - vim.keymap.set('i', '', 'copilot#Accept("")', { silent = true, expr = true }) + -- vim.keymap.set('i', '', 'copilot#Accept("\\")', { silent = true, expr = true }) + -- vim.keymap.set('i', '(vimrc:copilot-dummy-map)', 'copilot#Accept("")', { silent = true, expr = true }) + vim.g.copilot_no_tab_map = true + + -- vim.keymap.set('i', '(vimrc:copilot-dummy-map)', 'copilot#Accept("")', { silent = true, expr = true, desc = 'Copilot dummy accept' }) + require('copilot').setup() end, } diff --git a/lua/custom/plugins/nvim-cmp.lua b/lua/custom/plugins/nvim-cmp.lua index 5f087e1e..8a7d5138 100644 --- a/lua/custom/plugins/nvim-cmp.lua +++ b/lua/custom/plugins/nvim-cmp.lua @@ -21,10 +21,35 @@ end -- }) -- cmp.setup(config) +local cmp = require 'cmp' +-- Define additional mappings +-- local additional_mappings = { +-- [''] = cmp.mapping(function(fallback) +-- vim.api.nvim_feedkeys(vim.fn['copilot#Accept'](vim.api.nvim_replace_termcodes('', true, true, true)), 'n', true) +-- end), +-- } +-- +local additional_mappings = { + [''] = cmp.mapping(function(fallback) + vim.api.nvim_feedkeys(vim.fn['copilot#Accept'](vim.api.nvim_replace_termcodes('', true, true, true)), 'n', true) + end), +} + +-- Merge the new mappings with the existing mappings +-- local merged_mappings = vim.tbl_extend('force', cmp.mapping, additional_mappings) +-- local merged_mappings = vim.tbl_extend('force', cmp.mapping, additional_mappings) + +vim.list_extend(additional_mappings, cmp.mapping) + require('cmp').setup { formatting = { format = format_item, }, + mapping = additional_mappings, + -- mapping = additional_mappings, + experimental = { + ghost_text = false, -- this feature conflict with copilot.vim's preview. + }, } return {}