From 18b74795423a6eaea9253e4e0db966955b332b82 Mon Sep 17 00:00:00 2001 From: Andrii Berezhynskyi Date: Wed, 24 May 2023 09:41:59 +0000 Subject: [PATCH] feat: add user autocmd TelescopeResumePost (#2433) --- README.md | 1 + lua/telescope/pickers.lua | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index 43520f9..362239e 100644 --- a/README.md +++ b/README.md @@ -539,6 +539,7 @@ Telescope user autocmds: |---------------------------------|---------------------------------------------------------| | `User TelescopeFindPre` | Do it before Telescope creates all the floating windows | | `User TelescopePreviewerLoaded` | Do it after Telescope previewer window is created | +| `User TelescopeResumePost` | Do it after Telescope resume action is fully completed | ## Extensions diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 874789f..9915416 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -1559,15 +1559,24 @@ function Picker:_resume_picker() index = index + 1 end self.cache_picker.is_cached = false + local on_resume_complete = function() + if vim.api.nvim_buf_is_valid(self.prompt_bufnr) then + vim.api.nvim_buf_call(self.prompt_bufnr, function() + vim.cmd "do User TelescopeResumePost" + end) + end + end -- if text changed, required to set anew to restart finder; otherwise hl and selection if self.cache_picker.cached_prompt ~= self.default_text then self:set_prompt(self.default_text) + on_resume_complete() else -- scheduling required to apply highlighting and selection appropriately await_schedule(function() if self.cache_picker.selection_row ~= nil then self:set_selection(self.cache_picker.selection_row) end + on_resume_complete() end) end end