nvim: tweak trailing whitespace counter in lualine

This commit is contained in:
Fernando Schauenburg 2025-03-18 17:54:06 +01:00
parent f23a73d02b
commit 50117b8d09
2 changed files with 13 additions and 14 deletions

View file

@ -23,16 +23,16 @@ return {
local spell = "fschauen.spell"
local status =
{ dynamic_color("fschauen.status"), color = { fg = orange }, padding = 0 }
local whitespace = { dynamic_color("fschauen.whitespace"), color = { bg = orange } }
local whitespace = { dynamic_color("fschauen.whitespace"), cond = window.is_wide }
local wrap = "fschauen.wrap"
local sections = {
lualine_a = { mode },
lualine_b = { branch },
lualine_c = { filename, status },
lualine_x = { diagnostics, searchcount, filetype },
lualine_x = { diagnostics, searchcount, whitespace, filetype },
lualine_y = { spell, wrap, autoformat, fileformat, "progress" },
lualine_z = { "location", whitespace },
lualine_z = { "location" },
}
return {

View file

@ -4,23 +4,22 @@ function M:init(options)
M.super.init(
self,
vim.tbl_deep_extend("keep", options or {}, {
color = { bg = "#d65d0e" },
color = { fg = "#d65d0e" },
cond = function() return vim.bo.filetype ~= "help" end,
})
)
end
local TRAILING_WS_PATTERN = [[\s\+$]]
local total = function()
local count = vim.fn.searchcount({ pattern = TRAILING_WS_PATTERN }).total
return count > 1 and string.format("·%d", count) or ""
end
function M:update_status(--[[is_focused]]_)
local trailing = [[\s\+$]]
local lineno = vim.fn.search(trailing, "nwc")
if lineno == 0 then return "" end
local result = "" .. lineno
local total = vim.fn.searchcount({ pattern = trailing }).total
if total > 1 then result = result .. string.format(" (%d total)", total) end
return result
local lineno = vim.fn.search(TRAILING_WS_PATTERN, "nwc")
return lineno > 0 and string.format("󰢤 %d%s", lineno, total()) or ""
end
return M