diff options
| author | TJ DeVries <devries.timothyj@gmail.com> | 2020-09-22 09:59:06 -0400 |
|---|---|---|
| committer | TJ DeVries <devries.timothyj@gmail.com> | 2020-09-22 09:59:06 -0400 |
| commit | be9a0e5236783b67af1293a4852f4f68ae77f134 (patch) | |
| tree | 7b70adb110fdf9174f3dfced4768c69441dfe6dd /lua | |
| parent | d7ee7266abae53e643961a3df8356081900fd452 (diff) | |
fix: Close existing pickers when starting new one. Fix #102
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/pickers.lua | 8 | ||||
| -rw-r--r-- | lua/telescope/state.lua | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 50bbefe..bbafd07 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -250,6 +250,7 @@ function Picker:can_select_row(row) end function Picker:find() + self:close_existing_pickers() self:reset_selection() local prompt_string = assert(self.prompt, "Prompt is required.") @@ -649,6 +650,13 @@ function Picker:set_selection(row) end end +function Picker:close_existing_pickers() + for _, prompt_bufnr in ipairs(state.get_existing_prompts()) do + actions.close(prompt_bufnr) + end +end + + pickers.new = function(opts, defaults) opts = extend(opts, defaults) return Picker:new(opts) diff --git a/lua/telescope/state.lua b/lua/telescope/state.lua index 8399c05..a014a0d 100644 --- a/lua/telescope/state.lua +++ b/lua/telescope/state.lua @@ -15,4 +15,8 @@ function state.clear_status(prompt_bufnr) state.set_status(prompt_bufnr, nil) end +function state.get_existing_prompts() + return vim.tbl_keys(TelescopeGlobalState) +end + return state |
