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
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user