diff --git a/lua/plugins/copilot.lua b/lua/plugins/copilot.lua index bd703ed8..146c6607 100644 --- a/lua/plugins/copilot.lua +++ b/lua/plugins/copilot.lua @@ -3,7 +3,10 @@ return { cmd = 'Copilot', event = 'InsertEnter', config = function() - require('copilot').setup { + local copilot = require 'copilot' + local suggestion = require 'copilot.suggestion' + + copilot.setup { suggestion = { keymap = { accept = '', @@ -11,6 +14,21 @@ return { }, }, } - require('copilot.suggestion').toggle_auto_trigger() + + -- Define the tab_complete function globally + _G.tab_complete = function() + if suggestion.is_visible() then + vim.schedule(function() + suggestion.accept() + end) + else + return vim.api.nvim_replace_termcodes('', true, true, true) + end + end + + -- Map to the global tab_complete function + vim.api.nvim_set_keymap('i', '', 'v:lua.tab_complete()', { expr = true, noremap = true, silent = true }) + + suggestion.toggle_auto_trigger() end, }