Improve recently used

This commit is contained in:
hrsh7th
2022-01-20 17:06:48 +09:00
parent 8fc8d31cf4
commit 7a1e484806
2 changed files with 9 additions and 7 deletions

View File

@@ -165,7 +165,7 @@ core.on_change = function(self, trigger_event)
if vim.tbl_contains(config.get().completion.autocomplete or {}, trigger_event) then if vim.tbl_contains(config.get().completion.autocomplete or {}, trigger_event) then
self:complete(ctx) self:complete(ctx)
else else
self.filter.timeout = THROTTLE_TIME self.filter.timeout = self.view:visible() and THROTTLE_TIME or 0
self:filter() self:filter()
end end
else else
@@ -254,7 +254,7 @@ core.complete = function(self, ctx)
end end
if not self.view:get_active_entry() then if not self.view:get_active_entry() then
self.filter.timeout = THROTTLE_TIME self.filter.timeout = self.view:visible() and THROTTLE_TIME or 0
self:filter() self:filter()
end end
end end
@@ -262,7 +262,7 @@ end
---Update completion menu ---Update completion menu
core.filter = async.throttle( core.filter = async.throttle(
vim.schedule_wrap(function(self) vim.schedule_wrap(function(self)
self.filter.timeout = THROTTLE_TIME self.filter.timeout = self.view:visible() and THROTTLE_TIME or 0
local ignore = false local ignore = false
ignore = ignore or not api.is_suitable_mode() ignore = ignore or not api.is_suitable_mode()

View File

@@ -111,15 +111,17 @@ view.open = function(self, ctx, sources)
-- complete_done. -- complete_done.
if #entries == 0 then if #entries == 0 then
self.event:emit('complete_done', {
entry = self:_get_entries_view():get_selected_entry(),
})
self:close() self:close()
end end
end end
---Close menu ---Close menu
view.close = function(self) view.close = function(self)
if self:visible() then
self.event:emit('complete_done', {
entry = self:_get_entries_view():get_selected_entry(),
})
end
self:_get_entries_view():close() self:_get_entries_view():close()
self.docs_view:close() self.docs_view:close()
self.ghost_text_view:hide() self.ghost_text_view:hide()
@@ -177,10 +179,10 @@ end
---Return current configured entries_view ---Return current configured entries_view
---@return cmp.CustomEntriesView|cmp.NativeEntriesView ---@return cmp.CustomEntriesView|cmp.NativeEntriesView
view._get_entries_view = function(self) view._get_entries_view = function(self)
local c = config.get()
self.native_entries_view.event:clear() self.native_entries_view.event:clear()
self.custom_entries_view.event:clear() self.custom_entries_view.event:clear()
local c = config.get()
if c.experimental.native_menu then if c.experimental.native_menu then
self.native_entries_view.event:on('change', function() self.native_entries_view.event:on('change', function()
self:on_entry_change() self:on_entry_change()