Fix regression of commit characters

This commit is contained in:
hrsh7th
2021-08-05 15:21:36 +09:00
parent 56d22edbbf
commit cf61d0de50
3 changed files with 16 additions and 6 deletions

View File

@@ -15,7 +15,13 @@ local core = {}
core.SOURCE_TIMEOUT = 500
---@type cmp.Menu
core.menu = menu.new()
core.menu = menu.new({
on_select = function(e)
for _, c in ipairs(e:get_commit_characters()) do
keymap.listen(c, core.on_keymap)
end
end,
})
---@type table<number, cmp.Source>
core.sources = {}
@@ -114,7 +120,7 @@ core.prepare = function()
end
---Check auto-completion
core.autocomplete = function(event)
core.on_change = function(event)
local ctx = core.get_context({ reason = types.cmp.ContextReason.Auto })
-- Skip autocompletion when the item is selected manually.

View File

@@ -65,11 +65,11 @@ end
---Handle events
autocmd.subscribe('InsertEnter', function()
core.prepare()
core.autocomplete('InsertEnter')
core.on_change('InsertEnter')
end)
autocmd.subscribe('TextChanged', function()
core.autocomplete('TextChanged')
core.on_change('TextChanged')
end)
autocmd.subscribe('InsertLeave', function()

View File

@@ -5,6 +5,9 @@ local types = require('cmp.types')
local config = require('cmp.config')
local autocmd = require('cmp.autocmd')
---@class cmp.MenuOption
---@field on_select fun(e: cmp.Entry)
---@class cmp.Menu
---@field public float cmp.Float
---@field public cache cmp.Cache
@@ -19,12 +22,13 @@ local autocmd = require('cmp.autocmd')
local menu = {}
---Create menu
---@param opts cmp.MenuOption
---@return cmp.Menu
menu.new = function()
menu.new = function(opts)
local self = setmetatable({}, { __index = menu })
self.float = float.new()
self.resolve_dedup = async.dedup()
self.on_select = function() end
self.on_select = opts.on_select or function() end
self:reset()
autocmd.subscribe('CompleteChanged', function()
local e = self:get_selected_entry()