Don't completion by CursorMoved event

This commit is contained in:
hrsh7th
2021-10-09 17:33:24 +09:00
parent 12a24c0eb3
commit 339fe9177b
3 changed files with 20 additions and 1 deletions

View File

@@ -180,6 +180,18 @@ core.on_change = function(self, event)
end) end)
end end
---Cursor moved.
core.on_moved = function(self)
local ignore = false
ignore = ignore or self.suspending
ignore = ignore or (vim.fn.pumvisible() == 1 and (vim.v.completed_item).word)
ignore = ignore or not self.view:visible()
if ignore then
return
end
self:filter()
end
---Check autoindent ---Check autoindent
---@param event cmp.TriggerEvent ---@param event cmp.TriggerEvent
---@param callback function ---@param callback function

View File

@@ -231,6 +231,12 @@ autocmd.subscribe('TextChanged', function()
end end
end) end)
autocmd.subscribe('CursorMoved', function()
if config.enabled() then
cmp.core:on_moved()
end
end)
autocmd.subscribe('InsertLeave', function() autocmd.subscribe('InsertLeave', function()
cmp.core:reset() cmp.core:reset()
cmp.core.view:close() cmp.core.view:close()

View File

@@ -12,7 +12,8 @@ vim.cmd [[
autocmd! autocmd!
autocmd InsertEnter * lua require'cmp.utils.autocmd'.emit('InsertEnter') autocmd InsertEnter * lua require'cmp.utils.autocmd'.emit('InsertEnter')
autocmd InsertLeave * lua require'cmp.utils.autocmd'.emit('InsertLeave') autocmd InsertLeave * lua require'cmp.utils.autocmd'.emit('InsertLeave')
autocmd CursorMovedI,TextChangedI,TextChangedP * lua require'cmp.utils.autocmd'.emit('TextChanged') autocmd TextChangedI,TextChangedP * lua require'cmp.utils.autocmd'.emit('TextChanged')
autocmd CursorMovedI * lua require'cmp.utils.autocmd'.emit('CursorMoved')
autocmd CompleteChanged * lua require'cmp.utils.autocmd'.emit('CompleteChanged') autocmd CompleteChanged * lua require'cmp.utils.autocmd'.emit('CompleteChanged')
autocmd CompleteDone * lua require'cmp.utils.autocmd'.emit('CompleteDone') autocmd CompleteDone * lua require'cmp.utils.autocmd'.emit('CompleteDone')
autocmd ColorScheme * call v:lua.cmp.plugin.colorscheme() autocmd ColorScheme * call v:lua.cmp.plugin.colorscheme()