summaryrefslogtreecommitdiff
path: root/lua/telescope/actions/init.lua
diff options
context:
space:
mode:
authorjohnybx <johnybx@users.noreply.github.com>2021-11-08 18:20:17 +0100
committerLuke Kershaw <35707277+l-kershaw@users.noreply.github.com>2021-11-18 19:44:12 +0000
commitb952c2f852de1ec5ce7306ccd9262c97e27902d2 (patch)
tree0ab0d8ec8efa9ab0ff4398665183bc7ad189ead2 /lua/telescope/actions/init.lua
parente9743620ce89cde7540df50d3181ea3a65a9759c (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.lua18
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