Fix #973
This commit is contained in:
@@ -285,39 +285,33 @@ cmp.setup = setmetatable({
|
|||||||
})
|
})
|
||||||
|
|
||||||
-- In InsertEnter autocmd, vim will detects mode=normal unexpectedly.
|
-- In InsertEnter autocmd, vim will detects mode=normal unexpectedly.
|
||||||
autocmd.subscribe(
|
local on_insert_enter = function()
|
||||||
{ 'InsertEnter', 'CmdlineEnter' },
|
|
||||||
async.debounce_next_tick(function()
|
|
||||||
if config.enabled() then
|
if config.enabled() then
|
||||||
cmp.config.compare.scopes:update()
|
cmp.config.compare.scopes:update()
|
||||||
cmp.config.compare.locality:update()
|
cmp.config.compare.locality:update()
|
||||||
cmp.core:prepare()
|
cmp.core:prepare()
|
||||||
cmp.core:on_change('InsertEnter')
|
cmp.core:on_change('InsertEnter')
|
||||||
end
|
end
|
||||||
end)
|
end
|
||||||
)
|
autocmd.subscribe({ 'InsertEnter', 'CmdlineEnter' }, async.debounce_next_tick(on_insert_enter))
|
||||||
|
|
||||||
-- async.throttle is needed for performance. The mapping `:<C-u>...<CR>` will fire `CmdlineChanged` for each character.
|
-- async.throttle is needed for performance. The mapping `:<C-u>...<CR>` will fire `CmdlineChanged` for each character.
|
||||||
autocmd.subscribe(
|
local on_text_changed = function()
|
||||||
{ 'TextChangedI', 'TextChangedP', 'CmdlineChanged' },
|
|
||||||
async.debounce_next_tick(function()
|
|
||||||
if config.enabled() then
|
if config.enabled() then
|
||||||
cmp.core:on_change('TextChanged')
|
cmp.core:on_change('TextChanged')
|
||||||
end
|
end
|
||||||
end)
|
end
|
||||||
)
|
autocmd.subscribe({ 'TextChangedI', 'TextChangedP' }, on_text_changed)
|
||||||
|
autocmd.subscribe('CmdlineChanged', async.debounce_next_tick(on_text_changed))
|
||||||
|
|
||||||
autocmd.subscribe(
|
autocmd.subscribe('CursorMovedI', function()
|
||||||
'CursorMovedI',
|
|
||||||
async.debounce_next_tick(function()
|
|
||||||
if config.enabled() then
|
if config.enabled() then
|
||||||
cmp.core:on_moved()
|
cmp.core:on_moved()
|
||||||
else
|
else
|
||||||
cmp.core:reset()
|
cmp.core:reset()
|
||||||
cmp.core.view:close()
|
cmp.core.view:close()
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
)
|
|
||||||
|
|
||||||
-- If make this asynchronous, the completion menu will not close when the command output is displayed.
|
-- If make this asynchronous, the completion menu will not close when the command output is displayed.
|
||||||
autocmd.subscribe({ 'InsertLeave', 'CmdlineLeave' }, function()
|
autocmd.subscribe({ 'InsertLeave', 'CmdlineLeave' }, function()
|
||||||
|
|||||||
Reference in New Issue
Block a user