From 7e348da6e5085ac447144a2ef4b637220ba27209 Mon Sep 17 00:00:00 2001 From: Tristan Knight Date: Sun, 14 Jul 2024 07:04:40 +0100 Subject: [PATCH] fix(feedkeys): resolve issue with some copilot completions (#1981) * fix(feedkeys): resolve issue with some copilot completions * fix(feedkey): further adjustments * fix: missed flag from testing * fix(feedkeys): error handle and make tests pass --- lua/cmp/utils/feedkeys.lua | 7 +++++-- lua/cmp/view/ghost_text_view.lua | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lua/cmp/utils/feedkeys.lua b/lua/cmp/utils/feedkeys.lua index f6349cb..a5e9cc3 100644 --- a/lua/cmp/utils/feedkeys.lua +++ b/lua/cmp/utils/feedkeys.lua @@ -14,7 +14,7 @@ feedkeys.call = setmetatable({ if #keys > 0 then table.insert(queue, { keymap.t('setlocal lazyredraw'), 'n' }) table.insert(queue, { keymap.t('setlocal textwidth=0'), 'n' }) - table.insert(queue, { keymap.t('setlocal backspace=2'), 'n' }) + table.insert(queue, { keymap.t('setlocal backspace=nostop'), 'n' }) table.insert(queue, { keys, string.gsub(mode, '[itx]', ''), true }) table.insert(queue, { keymap.t('setlocal %slazyredraw'):format(vim.o.lazyredraw and '' or 'no'), 'n' }) table.insert(queue, { keymap.t('setlocal textwidth=%s'):format(vim.bo.textwidth or 0), 'n' }) @@ -44,7 +44,10 @@ feedkeys.call = setmetatable({ }) feedkeys.run = function(id) if feedkeys.call.callbacks[id] then - feedkeys.call.callbacks[id]() + local ok, err = pcall(feedkeys.call.callbacks[id]) + if not ok then + vim.notify(err, vim.log.levels.ERROR) + end feedkeys.call.callbacks[id] = nil end return '' diff --git a/lua/cmp/view/ghost_text_view.lua b/lua/cmp/view/ghost_text_view.lua index 78c3802..19c9513 100644 --- a/lua/cmp/view/ghost_text_view.lua +++ b/lua/cmp/view/ghost_text_view.lua @@ -1,7 +1,7 @@ local config = require('cmp.config') local misc = require('cmp.utils.misc') local snippet = require('cmp.utils.snippet') -local str = require('cmp.utils.str') +-- local str = require('cmp.utils.str') local api = require('cmp.utils.api') local types = require('cmp.types')