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:
Luke Kershaw
2021-11-16 11:14:52 +00:00
parent edcf07cf88
commit d686fb2799
4 changed files with 29 additions and 31 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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" }
]]
)

View File

@@ -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]]