Skip to content

Commit 2a5bae9

Browse files
committed
fix: first render not accounting for filetype and others
1 parent 70fef24 commit 2a5bae9

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

lua/lualine.lua

+19-10
Original file line numberDiff line numberDiff line change
@@ -441,8 +441,11 @@ local function set_tabline(hide)
441441
)
442442
modules.nvim_opts.set('showtabline', config.options.always_show_tabline and 2 or 1, { global = true })
443443
timers.halt_tal_refresh = false
444-
-- imediately refresh upon load
445-
refresh { kind = 'tabpage', place = { 'tabline' }, trigger = 'init' }
444+
vim.schedule(function()
445+
-- imediately refresh upon load
446+
-- schedule needed so stuff like filetype detect can run first
447+
refresh { kind = 'tabpage', place = { 'tabline' }, trigger = 'init' }
448+
end)
446449
else
447450
modules.nvim_opts.restore('tabline', { global = true })
448451
modules.nvim_opts.restore('showtabline', { global = true })
@@ -481,12 +484,15 @@ local function set_statusline(hide)
481484
)
482485
end
483486
timers.halt_stl_refresh = false
484-
-- imediately refresh upon load
485-
if config.options.globalstatus then
486-
refresh { kind = 'window', place = { 'statusline' }, trigger = 'init' }
487-
else
488-
refresh { kind = 'tabpage', place = { 'statusline' }, trigger = 'init' }
489-
end
487+
vim.schedule(function()
488+
-- imediately refresh upon load
489+
-- schedule needed so stuff like filetype detect can run first
490+
if config.options.globalstatus then
491+
refresh { kind = 'window', place = { 'statusline' }, trigger = 'init' }
492+
else
493+
refresh { kind = 'tabpage', place = { 'statusline' }, trigger = 'init' }
494+
end
495+
end)
490496
else
491497
modules.nvim_opts.restore('statusline', { global = true })
492498
for _, win in ipairs(vim.api.nvim_list_wins()) do
@@ -511,8 +517,11 @@ local function set_winbar(hide)
511517
end, 3, 'lualine: Failed to refresh winbar')
512518
)
513519
timers.halt_wb_refresh = false
514-
-- imediately refresh upon load
515-
refresh { kind = 'tabpage', place = { 'winbar' }, trigger = 'init' }
520+
vim.schedule(function()
521+
-- imediately refresh upon load.
522+
-- schedule needed so stuff like filetype detect can run first
523+
refresh { kind = 'tabpage', place = { 'winbar' }, trigger = 'init' }
524+
end)
516525
elseif vim.fn.has('nvim-0.8') == 1 then
517526
modules.nvim_opts.restore('winbar', { global = true })
518527
for _, win in ipairs(vim.api.nvim_list_wins()) do

0 commit comments

Comments
 (0)