summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Kershaw <35707277+l-kershaw@users.noreply.github.com>2021-11-16 11:14:52 +0000
committerLuke Kershaw <35707277+l-kershaw@users.noreply.github.com>2021-11-18 19:44:12 +0000
commitd686fb27998fc130f7b851fb6c540f3f1fe806e8 (patch)
treeaeb44da568dcd5b39202b41e7d65fb82a11eab81
parentedcf07cf885f86c08c5b15f333b7c82b15c3527b (diff)
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
-rw-r--r--doc/telescope.txt11
-rw-r--r--lua/telescope/actions/init.lua7
-rw-r--r--lua/telescope/config.lua4
-rw-r--r--lua/telescope/pickers.lua38
4 files changed, 29 insertions, 31 deletions
diff --git a/doc/telescope.txt b/doc/telescope.txt
index c20f3ea..0283759 100644
--- a/doc/telescope.txt
+++ b/doc/telescope.txt
@@ -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
diff --git a/lua/telescope/actions/init.lua b/lua/telescope/actions/init.lua
index bafa914..0da521b 100644
--- a/lua/telescope/actions/init.lua
+++ b/lua/telescope/actions/init.lua
@@ -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
diff --git a/lua/telescope/config.lua b/lua/telescope/config.lua
index a96bc0b..a57ec7f 100644
--- a/lua/telescope/config.lua
+++ b/lua/telescope/config.lua
@@ -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" }
]]
)
diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua
index b626c46..6b850e9 100644
--- a/lua/telescope/pickers.lua
+++ b/lua/telescope/pickers.lua
@@ -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,20 +556,33 @@ 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
+ popup.move(prompt_win, popup_opts.prompt)
+ popup.move(results_win, popup_opts.results)
+
+ -- 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
- popup.move(prompt_win, popup_opts.prompt)
-
-- Temporarily disabled: Draw the screen ASAP. This makes things feel speedier.
-- vim.cmd [[redraw]]