add cmp.get_registered_sources and CmpRegisterSource /CmpUnregisterSource autocmd.
This commit is contained in:
@@ -47,8 +47,11 @@ end
|
||||
|
||||
---Unregister source
|
||||
---@param source_id integer
|
||||
---@return cmp.Source?
|
||||
core.unregister_source = function(self, source_id)
|
||||
local s = self.sources[source_id]
|
||||
self.sources[source_id] = nil
|
||||
return s
|
||||
end
|
||||
|
||||
---Get new context
|
||||
@@ -105,6 +108,12 @@ core.get_sources = function(self, filter)
|
||||
return sources
|
||||
end
|
||||
|
||||
---Return registered sources.
|
||||
---@return cmp.Source[]
|
||||
core.get_registered_sources = function(self)
|
||||
return self.sources
|
||||
end
|
||||
|
||||
---Keypress handler
|
||||
core.on_keymap = function(self, keys, fallback)
|
||||
local mode = api.get_mode()
|
||||
|
||||
@@ -54,13 +54,33 @@ end
|
||||
cmp.register_source = function(name, s)
|
||||
local src = source.new(name, s)
|
||||
cmp.core:register_source(src)
|
||||
vim.api.nvim_exec_autocmds('User', {
|
||||
pattern = 'CmpRegisterSource',
|
||||
data = {
|
||||
source_id = src.id
|
||||
}
|
||||
})
|
||||
return src.id
|
||||
end
|
||||
|
||||
---Unregister completion source
|
||||
---@param id integer
|
||||
cmp.unregister_source = function(id)
|
||||
cmp.core:unregister_source(id)
|
||||
local s = cmp.core:unregister_source(id)
|
||||
if s then
|
||||
vim.api.nvim_exec_autocmds('User', {
|
||||
pattern = 'CmpUnregisterSource',
|
||||
data = {
|
||||
source_id = id
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
---Get registered sources.
|
||||
---@return cmp.Source[]
|
||||
cmp.get_registered_sources = function()
|
||||
return cmp.core:get_registered_sources()
|
||||
end
|
||||
|
||||
---Get current configuration.
|
||||
|
||||
Reference in New Issue
Block a user