Skip to content

Commit da0ceef

Browse files
fix: eliminate flash when opening nav view (#497)
1 parent 535f643 commit da0ceef

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lua/aerial/nav_view.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ function AerialNav.new(bufnr, winid)
5151
height = 20,
5252
border = config.nav.border,
5353
style = "minimal",
54+
hide = true,
5455
})
5556
local main_buf = create_buf()
5657
local main_win = vim.api.nvim_open_win(main_buf, true, {
@@ -64,6 +65,7 @@ function AerialNav.new(bufnr, winid)
6465
border = config.nav.border == "rounded" and "single" or config.nav.border,
6566
style = "minimal",
6667
zindex = 51,
68+
hide = true,
6769
})
6870
local right_buf = create_buf()
6971
local right_win = vim.api.nvim_open_win(right_buf, false, {
@@ -74,6 +76,7 @@ function AerialNav.new(bufnr, winid)
7476
height = 20,
7577
border = config.nav.border,
7678
style = "minimal",
79+
hide = true,
7780
})
7881
for _, floatwin in ipairs({ left_win, main_win, right_win }) do
7982
vim.api.nvim_set_option_value(
@@ -323,6 +326,12 @@ function AerialNav:relayout()
323326
vim.api.nvim_set_option_value(k, v, { scope = "local", win = self.right.winid })
324327
end
325328
end
329+
-- Show windows after positioning (prevents flash on initial open)
330+
for _, win in ipairs({ self.left.winid, self.main.winid, self.right.winid }) do
331+
if vim.api.nvim_win_is_valid(win) then
332+
vim.api.nvim_win_set_config(win, { hide = false })
333+
end
334+
end
326335
end
327336

328337
function AerialNav:close()
@@ -368,6 +377,7 @@ M.open = function()
368377
_active_nav:focus_symbol(pos.closest_symbol)
369378
end
370379
end
380+
_active_nav:relayout()
371381
end
372382

373383
M.toggle = function()

0 commit comments

Comments
 (0)