Bug: Status line filled with `^^^^^^`
carlesba opened this issue · 8 comments
Self Checks
- I'm using the latest lualine.
- I didn't find the issue in existing issues or PRs.
How to reproduce the problem
Setup lualine with a theme (see minimal config).
After a few interactions in the editor, lualine feels all the gaps in the status line with ^^^^^^^^^^^^^^^^^^^^^^
Expected behaviour
Status line should not show ^^^^^^^^^^^^^
Actual behaviour
Status line shows ^^^^^^^^^^^^^^^^^^^
Minimal config to reproduce the issue
referencing the theme like this shows the bug
local evergreen = {fg = "#7A8478", bg = "#343F44"}
local theme = evergreen
lualine.setup({
options = {
theme = {
normal = {a = theme, b = theme, c = theme},
insert = {a = theme, b = theme},
visual = {a = theme, b = theme},
command = {a = theme, b = theme},
replace = {a = theme, b = theme},
inactive = {a = theme, b = theme, c = theme}
},
},
})
If you define a theme without referencing other table works fine
local theme = {fg = "#7A8478", bg = "#343F44"}
lualine.setup({
options = {
theme = {
normal = {a = theme, b = theme, c = theme},
insert = {a = theme, b = theme},
visual = {a = theme, b = theme},
command = {a = theme, b = theme},
replace = {a = theme, b = theme},
inactive = {a = theme, b = theme, c = theme}
},
},
})
Additional information
After some more debugging. Doesn't seem related to the theme. Still, I'm getting that ^^^^^^^^^^^^^^^^
all the time.
I'm only using lualine plugins:
require("lualine").setup(
{
options = {
theme = {
normal = {a = theme, b = theme, c = theme},
insert = {a = theme, b = theme},
visual = {a = theme, b = theme},
command = {a = theme, b = theme},
replace = {a = theme, b = theme},
inactive = {a = theme, b = theme, c = theme}
},
section_separators = {"", ""},
component_separators = {"", ""}
},
sections = {
lualine_a = {
-- {"branch", color = {fg = theme.statusline_2}}
},
lualine_b = {
{
"filename",
file_status = true, -- Displays file status (readonly status, modified status)
newfile_status = false, -- Display new file status (new file means no write after created)
path = 3, -- 0: Just the filename
-- 1: Relative path
-- 2: Absolute path
-- 3: Absolute path, with tilde as the home directory
-- 4: Filename and parent dir, with tilde as the home directory
shorting_target = 40, -- Shortens path to leave 40 spaces in the window
-- for other components. (terrible name, any suggestions?)
symbols = {
modified = "[+]", -- Text to show when the file is modified.
readonly = "[-]", -- Text to show when the file is non-modifiable or readonly.
unnamed = "[No Name]", -- Text to show for unnamed buffers.
newfile = "[New]" -- Text to show for newly created file before first write
}
},
"diff"
},
lualine_c = {
-- {
-- require("noice").api.status.search.get,
-- cond = require("noice").api.status.search.has,
-- color = {fg = "#ff9e64"}
-- }
},
-- lualine_x = {"branch"},
lualine_x = {
"searchcount"
},
lualine_y = {
{
"diagnostics",
sources = {"nvim_lsp"},
-- Displays diagnostics for the defined severity types
sections = {"error", "warn", "info", "hint"},
symbols = {error = "", warn = "", info = "", hint = ""},
-- icons_enabled = true,
colored = true, -- Displays diagnostics status in color if set to true.
update_in_insert = false, -- Update diagnostics in insert mode.
always_visible = true -- Show diagnostics even if there are none.
}
},
lualine_z = {"location", "progress"}
}
}
)
I'm having the same problem, but the ^
chars appear only when the floating window is displayed (cmp completion, hovers etc).
I've had this bug for a few months now. I've yet to create a minimal reproducible example, but finally narrowed it down to this at least this combination that triggers it for me:
require('lualine').setup()
is called a second time- There are separators set for the outer most sections on the outside, so either
lualine_a = { { <component> , separator = { left = "<anything in here>" }
lualine_z = { { <component> , separator = { right = "<anything in here>" }
nvim-treesitter-context
is open, guessing from the others probably other floating windows do the trick too.
Today, I did a check with the latest version of nvim (compiled from source) and there bug is no longer there. I guess that the problem was somewhere in the nvim.
Can confirm neovim 0.10
seems to fix the issue, so maybe close this?
thanks!
I'm still having the issue. I'm aware 0.10 is coming but latest stable version is yet 0.9.5.
Keeping this opened until I can verify it's fixed.