Fix regression of commit characters
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user