From 3862af1474578b880d4ee0df6c7f269f5e88e3cd Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Wed, 25 Aug 2021 03:21:18 +0900 Subject: [PATCH] Fix #52 --- lua/cmp/core.lua | 16 ++++++++-------- lua/cmp/utils/keymap.lua | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lua/cmp/core.lua b/lua/cmp/core.lua index 505dc25..d9ba6a3 100644 --- a/lua/cmp/core.lua +++ b/lua/cmp/core.lua @@ -196,7 +196,7 @@ core.confirm = vim.schedule_wrap(function(e, option, callback) debug.log('entry.confirm', e) local ctx = context.new() - keymap.feedkeys('U' .. string.rep('', ctx.cursor.col - e.context.cursor.col), 'n', function() + keymap.feedkeys(keymap.t('U' .. string.rep('', ctx.cursor.col - e.context.cursor.col)), 'n', function() --@see https://github.com/microsoft/vscode/blob/main/src/vs/editor/contrib/suggest/suggestController.ts#L334 if #(misc.safe(e:get_completion_item().additionalTextEdits) or {}) == 0 then local pre = context.new() @@ -245,21 +245,21 @@ core.confirm = vim.schedule_wrap(function(e, option, callback) is_snippet = is_snippet and completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet is_snippet = is_snippet and vim.lsp.util.parse_snippet(completion_item.textEdit.newText) ~= completion_item.textEdit.newText - local keys = '' + local keys = {} if completion_item.textEdit.range['end'].character > e.context.cursor.character then - keys = keys .. string.rep('U', completion_item.textEdit.range['end'].character - e.context.cursor.character) + table.insert(keys, keymap.t(string.rep('U', completion_item.textEdit.range['end'].character - e.context.cursor.character))) end if e.context.cursor.character > completion_item.textEdit.range.start.character then - keys = keys .. string.rep('', e.context.cursor.character - completion_item.textEdit.range.start.character) + table.insert(keys, keymap.t(string.rep('', e.context.cursor.character - completion_item.textEdit.range.start.character))) end if is_snippet then - keys = keys .. 'u' .. e:get_word() .. 'u' - keys = keys .. string.rep('', vim.fn.strchars(e:get_word())) + table.insert(keys, keymap.t('u') .. e:get_word() .. keymap.t('u')) + table.insert(keys, keymap.t(string.rep('', vim.fn.strchars(e:get_word())))) else - keys = keys .. 'u' .. completion_item.textEdit.newText .. 'u' + table.insert(keys, keymap.t('u') .. completion_item.textEdit.newText .. keymap.t('u')) end - keymap.feedkeys(keys, 'n', function() + keymap.feedkeys(table.concat(keys, ''), 'n', function() if is_snippet then config.get().snippet.expand({ body = completion_item.textEdit.newText, diff --git a/lua/cmp/utils/keymap.lua b/lua/cmp/utils/keymap.lua index 0b33eed..72f8a5c 100644 --- a/lua/cmp/utils/keymap.lua +++ b/lua/cmp/utils/keymap.lua @@ -54,7 +54,7 @@ keymap.feedkeys = setmetatable({ }, { __call = function(self, keys, mode, callback) if #keys ~= 0 then - vim.fn.feedkeys(keymap.t(keys), mode) + vim.fn.feedkeys(keys, mode) end if callback then