diff options
| author | johnybx <johnybx@users.noreply.github.com> | 2021-11-08 18:20:17 +0100 |
|---|---|---|
| committer | Luke Kershaw <35707277+l-kershaw@users.noreply.github.com> | 2021-11-18 19:44:12 +0000 |
| commit | b952c2f852de1ec5ce7306ccd9262c97e27902d2 (patch) | |
| tree | 0ab0d8ec8efa9ab0ff4398665183bc7ad189ead2 /lua/telescope/actions/init.lua | |
| parent | e9743620ce89cde7540df50d3181ea3a65a9759c (diff) | |
feat: add hide / unhide preview (#1305)
* feat: add hide / unhide preview or results and prompt
* fix edit actions while only preview window is active
* add option to start telescope without previewer -> "disable_previewer_at_startup"
* remove hide / unhide prompt and resutls, improve hide / unhide preview
* fix tests - check if popup window should be created with borders - popup.create does not support setting borderhighlight and border=false
* allow toggle preview even if preview is set to false
* reuse recalculate_layout in hide / unhide preview
* add docs to toggle preview
* check if preview window is valid window
* remove unnecessary changes
* cleanup, remove unnecessary changes
* close all previewers, refactor toggle preview code
[docgen] Update doc/telescope.txt
skip-checks: true
Diffstat (limited to 'lua/telescope/actions/init.lua')
| -rw-r--r-- | lua/telescope/actions/init.lua | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lua/telescope/actions/init.lua b/lua/telescope/actions/init.lua index e87bac6..bafa914 100644 --- a/lua/telescope/actions/init.lua +++ b/lua/telescope/actions/init.lua @@ -144,6 +144,13 @@ function actions.toggle_all(prompt_bufnr) end) end +--- Toggle preview window. +--- - Note: preview window can be toggled even if preview is set to false. +---@param prompt_bufnr number: The prompt bufnr +function actions.toggle_preview(prompt_bufnr) + action_state.get_current_picker(prompt_bufnr):toggle_preview() +end + function actions.preview_scrolling_up(prompt_bufnr) action_set.scroll_previewer(prompt_bufnr, -1) end @@ -240,23 +247,14 @@ end actions._close = function(prompt_bufnr, keepinsert) action_state.get_current_history():reset() local picker = action_state.get_current_picker(prompt_bufnr) - local prompt_win = state.get_status(prompt_bufnr).prompt_win local original_win_id = picker.original_win_id - if picker.previewer then - for _, v in ipairs(picker.all_previewers) do - v:teardown() - end - end - actions.close_pum(prompt_bufnr) if not keepinsert then vim.cmd [[stopinsert]] end - vim.api.nvim_win_close(prompt_win, true) - - pcall(vim.cmd, string.format([[silent bdelete! %s]], prompt_bufnr)) + require("telescope.pickers").on_close_prompt(prompt_bufnr) pcall(a.nvim_set_current_win, original_win_id) end |
