Rewrite keymap.lua (#452)

* Move feedkeys related codes to `cmp.utils.feedkeys`

* Improve mapping handling

* Fix test

* fmt
This commit is contained in:
hrsh7th
2021-11-01 22:15:28 +09:00
committed by GitHub
parent e8cb695b0b
commit 674d2b1389
8 changed files with 233 additions and 225 deletions

View File

@@ -1,5 +1,6 @@
local event = require('cmp.utils.event')
local autocmd = require('cmp.utils.autocmd')
local feedkeys = require('cmp.utils.feedkeys')
local window = require('cmp.utils.window')
local config = require('cmp.config')
local types = require('cmp.types')
@@ -183,7 +184,7 @@ custom_entries_view.abort = function(self)
if self.prefix then
self:_insert(self.prefix)
end
keymap.feedkeys('', 'n', function()
feedkeys.call('', 'n', function()
self:close()
end)
end
@@ -306,10 +307,10 @@ custom_entries_view._insert = function(self, word)
vim.api.nvim_feedkeys(keymap.backspace(length) .. word, 'int', true)
else
local release = require('cmp').core:suspend()
keymap.feedkeys('', 'n', function()
feedkeys.call('', 'n', function()
local cursor = api.get_cursor()
local length = vim.str_utfindex(string.sub(api.get_current_line(), self.offset, cursor[2]))
keymap.feedkeys(
feedkeys.call(
keymap.backspace(length) .. word,
'int',
vim.schedule_wrap(function()

View File

@@ -1,6 +1,7 @@
local event = require('cmp.utils.event')
local autocmd = require('cmp.utils.autocmd')
local keymap = require('cmp.utils.keymap')
local feedkeys = require('cmp.utils.feedkeys')
local types = require('cmp.types')
local config = require('cmp.config')
local api = require('cmp.utils.api')
@@ -118,9 +119,9 @@ end
native_entries_view.select_next_item = function(self, option)
if self:visible() then
if (option.behavior or types.cmp.SelectBehavior.Insert) == types.cmp.SelectBehavior.Insert then
keymap.feedkeys(keymap.t('<C-n>'), 'n')
feedkeys.call(keymap.t('<C-n>'), 'n')
else
keymap.feedkeys(keymap.t('<Down>'), 'n')
feedkeys.call(keymap.t('<Down>'), 'n')
end
end
end
@@ -128,9 +129,9 @@ end
native_entries_view.select_prev_item = function(self, option)
if self:visible() then
if (option.behavior or types.cmp.SelectBehavior.Insert) == types.cmp.SelectBehavior.Insert then
keymap.feedkeys(keymap.t('<C-p>'), 'n')
feedkeys.call(keymap.t('<C-p>'), 'n')
else
keymap.feedkeys(keymap.t('<Up>'), 'n')
feedkeys.call(keymap.t('<Up>'), 'n')
end
end
end