fix: cleanup of layout actions
* fix: finish docs and remove mistakes from merge * fix: change order of `popup` changes based on type of change - removes "flash" issue where popups don't update in sync
This commit is contained in:
@@ -154,7 +154,7 @@ telescope.setup({opts}) *telescope.setup()*
|
||||
2. table <br>
|
||||
A table with possible keys `layout_strategy`, `layout_config` and `previewer`
|
||||
|
||||
Default: TODO
|
||||
Default: { "horizontal", "vertical" }
|
||||
|
||||
|
||||
*telescope.defaults.winblend*
|
||||
@@ -1926,15 +1926,6 @@ actions.toggle_all({prompt_bufnr}) *actions.toggle_all()*
|
||||
{prompt_bufnr} (number) The prompt bufnr
|
||||
|
||||
|
||||
actions.toggle_preview({prompt_bufnr}) *actions.toggle_preview()*
|
||||
Toggle preview window.
|
||||
- Note: preview window can be toggled even if preview is set to false.
|
||||
|
||||
|
||||
Parameters: ~
|
||||
{prompt_bufnr} (number) The prompt bufnr
|
||||
|
||||
|
||||
actions.git_create_branch({prompt_bufnr}) *actions.git_create_branch()*
|
||||
Create and checkout a new git branch if it doesn't already exist
|
||||
|
||||
|
||||
@@ -144,13 +144,6 @@ 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
|
||||
|
||||
@@ -191,7 +191,7 @@ append("layout_config", layout_config_defaults, layout_config_description)
|
||||
|
||||
append(
|
||||
"cycle_layout_list",
|
||||
{ "horizontal", "vertical", { layout_strategy = "horizontal", previewer = false } },
|
||||
{ "horizontal", "vertical" },
|
||||
[[
|
||||
Determines the layouts to cycle through when using `actions.cycle_layout_next`
|
||||
and `actions.cycle_layout_prev`.
|
||||
@@ -202,7 +202,7 @@ append(
|
||||
2. table <br>
|
||||
A table with possible keys `layout_strategy`, `layout_config` and `previewer`
|
||||
|
||||
Default: TODO
|
||||
Default: { "horizontal", "vertical" }
|
||||
]]
|
||||
)
|
||||
|
||||
|
||||
@@ -533,11 +533,12 @@ function Picker:recalculate_layout()
|
||||
local results_win = status.results_win
|
||||
local preview_win = status.preview_win
|
||||
|
||||
popup.move(results_win, popup_opts.results)
|
||||
|
||||
local preview_opts, preview_border_win
|
||||
if popup_opts.preview then
|
||||
if preview_win ~= nil then
|
||||
-- Move all popups at the same time
|
||||
popup.move(prompt_win, popup_opts.prompt)
|
||||
popup.move(results_win, popup_opts.results)
|
||||
popup.move(preview_win, popup_opts.preview)
|
||||
else
|
||||
popup_opts.preview.highlight = "TelescopePreviewNormal"
|
||||
@@ -555,19 +556,32 @@ function Picker:recalculate_layout()
|
||||
self.preview_win = preview_win
|
||||
self.preview_border_win = preview_border_win
|
||||
self.preview_border = preview_opts and preview_opts.border
|
||||
|
||||
-- Move prompt and results after preview created
|
||||
vim.defer_fn(function()
|
||||
popup.move(prompt_win, popup_opts.prompt)
|
||||
popup.move(results_win, popup_opts.results)
|
||||
end, 0)
|
||||
end
|
||||
elseif preview_win ~= nil then
|
||||
utils.win_delete("preview_win", preview_win, true)
|
||||
utils.win_delete("preview_win", status.preview_border_win, true)
|
||||
status.preview_win = nil
|
||||
status.preview_border_win = nil
|
||||
state.set_status(prompt_win, status)
|
||||
self.preview_win = nil
|
||||
self.preview_border_win = nil
|
||||
self.preview_border = nil
|
||||
end
|
||||
popup.move(prompt_win, popup_opts.prompt)
|
||||
popup.move(results_win, popup_opts.results)
|
||||
|
||||
popup.move(prompt_win, popup_opts.prompt)
|
||||
-- Remove preview after the prompt and results are moved
|
||||
vim.defer_fn(function()
|
||||
utils.win_delete("preview_win", preview_win, true)
|
||||
utils.win_delete("preview_win", status.preview_border_win, true)
|
||||
status.preview_win = nil
|
||||
status.preview_border_win = nil
|
||||
state.set_status(prompt_win, status)
|
||||
self.preview_win = nil
|
||||
self.preview_border_win = nil
|
||||
self.preview_border = nil
|
||||
end, 0)
|
||||
else
|
||||
popup.move(prompt_win, popup_opts.prompt)
|
||||
popup.move(results_win, popup_opts.results)
|
||||
end
|
||||
|
||||
-- Temporarily disabled: Draw the screen ASAP. This makes things feel speedier.
|
||||
-- vim.cmd [[redraw]]
|
||||
|
||||
Reference in New Issue
Block a user