mirror of https://github.com/folke/lazy.nvim.git
fix(ui): properly position Lazy tabs when opening another cmd. Fixes #361
This commit is contained in:
parent
d2110278be
commit
8756c0950c
|
@ -8,14 +8,28 @@ end
|
||||||
---@param opts? LazyFloatOptions
|
---@param opts? LazyFloatOptions
|
||||||
function M.float(opts)
|
function M.float(opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
if require("lazy.view").visible() then
|
local cursor
|
||||||
|
local View = require("lazy.view")
|
||||||
|
if View.visible() then
|
||||||
|
-- set cursor to the top of the ui, so the tabs are visible
|
||||||
|
cursor = vim.api.nvim_win_get_cursor(View.view.win)
|
||||||
|
vim.api.nvim_win_set_cursor(View.view.win, { 1, 0 })
|
||||||
opts = vim.tbl_deep_extend("force", {
|
opts = vim.tbl_deep_extend("force", {
|
||||||
zindex = 60,
|
zindex = 60,
|
||||||
border = "none",
|
border = "none",
|
||||||
margin = { top = 3, left = 2, right = 2 },
|
margin = { top = 3, left = 2, right = 2 },
|
||||||
}, opts)
|
}, opts)
|
||||||
end
|
end
|
||||||
return require("lazy.view.float")(opts)
|
local ret = require("lazy.view.float")(opts)
|
||||||
|
-- restore the cursor
|
||||||
|
if cursor then
|
||||||
|
ret:on("BufLeave", function()
|
||||||
|
if View.visible() then
|
||||||
|
vim.api.nvim_win_set_cursor(View.view.win, cursor)
|
||||||
|
end
|
||||||
|
end, { once = true })
|
||||||
|
end
|
||||||
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.open(uri)
|
function M.open(uri)
|
||||||
|
|
Loading…
Reference in New Issue