Fix regression of commit characters
This commit is contained in:
@@ -15,7 +15,13 @@ local core = {}
|
|||||||
core.SOURCE_TIMEOUT = 500
|
core.SOURCE_TIMEOUT = 500
|
||||||
|
|
||||||
---@type cmp.Menu
|
---@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>
|
---@type table<number, cmp.Source>
|
||||||
core.sources = {}
|
core.sources = {}
|
||||||
@@ -114,7 +120,7 @@ core.prepare = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
---Check auto-completion
|
---Check auto-completion
|
||||||
core.autocomplete = function(event)
|
core.on_change = function(event)
|
||||||
local ctx = core.get_context({ reason = types.cmp.ContextReason.Auto })
|
local ctx = core.get_context({ reason = types.cmp.ContextReason.Auto })
|
||||||
|
|
||||||
-- Skip autocompletion when the item is selected manually.
|
-- Skip autocompletion when the item is selected manually.
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ end
|
|||||||
---Handle events
|
---Handle events
|
||||||
autocmd.subscribe('InsertEnter', function()
|
autocmd.subscribe('InsertEnter', function()
|
||||||
core.prepare()
|
core.prepare()
|
||||||
core.autocomplete('InsertEnter')
|
core.on_change('InsertEnter')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
autocmd.subscribe('TextChanged', function()
|
autocmd.subscribe('TextChanged', function()
|
||||||
core.autocomplete('TextChanged')
|
core.on_change('TextChanged')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
autocmd.subscribe('InsertLeave', function()
|
autocmd.subscribe('InsertLeave', function()
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ local types = require('cmp.types')
|
|||||||
local config = require('cmp.config')
|
local config = require('cmp.config')
|
||||||
local autocmd = require('cmp.autocmd')
|
local autocmd = require('cmp.autocmd')
|
||||||
|
|
||||||
|
---@class cmp.MenuOption
|
||||||
|
---@field on_select fun(e: cmp.Entry)
|
||||||
|
|
||||||
---@class cmp.Menu
|
---@class cmp.Menu
|
||||||
---@field public float cmp.Float
|
---@field public float cmp.Float
|
||||||
---@field public cache cmp.Cache
|
---@field public cache cmp.Cache
|
||||||
@@ -19,12 +22,13 @@ local autocmd = require('cmp.autocmd')
|
|||||||
local menu = {}
|
local menu = {}
|
||||||
|
|
||||||
---Create menu
|
---Create menu
|
||||||
|
---@param opts cmp.MenuOption
|
||||||
---@return cmp.Menu
|
---@return cmp.Menu
|
||||||
menu.new = function()
|
menu.new = function(opts)
|
||||||
local self = setmetatable({}, { __index = menu })
|
local self = setmetatable({}, { __index = menu })
|
||||||
self.float = float.new()
|
self.float = float.new()
|
||||||
self.resolve_dedup = async.dedup()
|
self.resolve_dedup = async.dedup()
|
||||||
self.on_select = function() end
|
self.on_select = opts.on_select or function() end
|
||||||
self:reset()
|
self:reset()
|
||||||
autocmd.subscribe('CompleteChanged', function()
|
autocmd.subscribe('CompleteChanged', function()
|
||||||
local e = self:get_selected_entry()
|
local e = self:get_selected_entry()
|
||||||
|
|||||||
Reference in New Issue
Block a user