Fix #120
This commit is contained in:
@@ -206,10 +206,10 @@ core.confirm = vim.schedule_wrap(function(e, option, callback)
|
|||||||
debug.log('entry.confirm', e:get_completion_item())
|
debug.log('entry.confirm', e:get_completion_item())
|
||||||
|
|
||||||
local ctx = context.new()
|
local ctx = context.new()
|
||||||
local keys = {}
|
local restore = {}
|
||||||
table.insert(keys, keymap.t(string.rep('<BS>', ctx.cursor.character - e:get_insert_range().start.character)))
|
table.insert(restore, keymap.t(string.rep('<C-g>U<Left><Del>', ctx.cursor.character - misc.to_utfindex(e.context.cursor_before_line, e:get_offset()))))
|
||||||
table.insert(keys, string.sub(e.context.cursor_before_line, e:get_offset()))
|
table.insert(restore, string.sub(e.context.cursor_before_line, e:get_offset()))
|
||||||
keymap.feedkeys(table.concat(keys, ''), 'n', function()
|
keymap.feedkeys(table.concat(restore, ''), 'n', function()
|
||||||
--@see https://github.com/microsoft/vscode/blob/main/src/vs/editor/contrib/suggest/suggestController.ts#L334
|
--@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
|
if #(misc.safe(e:get_completion_item().additionalTextEdits) or {}) == 0 then
|
||||||
local pre = context.new()
|
local pre = context.new()
|
||||||
@@ -258,10 +258,10 @@ core.confirm = vim.schedule_wrap(function(e, option, callback)
|
|||||||
|
|
||||||
local keys = {}
|
local keys = {}
|
||||||
if e.context.cursor.character < completion_item.textEdit.range['end'].character then
|
if e.context.cursor.character < completion_item.textEdit.range['end'].character then
|
||||||
table.insert(keys, keymap.t(string.rep('<C-g>U<Right><BS>', completion_item.textEdit.range['end'].character - e.context.cursor.character)))
|
table.insert(keys, keymap.t(string.rep('<Del>', completion_item.textEdit.range['end'].character - e.context.cursor.character)))
|
||||||
end
|
end
|
||||||
if completion_item.textEdit.range.start.character < e.context.cursor.character then
|
if completion_item.textEdit.range.start.character < e.context.cursor.character then
|
||||||
table.insert(keys, keymap.t(string.rep('<BS>', e.context.cursor.character - completion_item.textEdit.range.start.character)))
|
table.insert(keys, keymap.t(string.rep('<C-g>U<Left><Del>', e.context.cursor.character - completion_item.textEdit.range.start.character)))
|
||||||
end
|
end
|
||||||
|
|
||||||
if is_snippet then
|
if is_snippet then
|
||||||
|
|||||||
Reference in New Issue
Block a user