diff options
author | Toby Vincent <tobyv13@gmail.com> | 2022-11-04 18:24:30 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2022-11-04 18:24:30 -0500 |
commit | 5cc68af4e781e2c7353d90ad7626d686f8a014c5 (patch) | |
tree | 64c534213860d3e387d57733b1c4b891fe723910 /nvim/.config | |
parent | c02cb8fb802e86cad8ccc6df57936b75e9643f98 (diff) |
feat(lualine): add highlights to workspace diagnostics
Diffstat (limited to 'nvim/.config')
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua | 36 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua | 8 |
2 files changed, 29 insertions, 15 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua index 5b66f4b..a165811 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua @@ -19,7 +19,7 @@ M.setup = function() return vim.bo.buflisted end - local workspace = { + local git = { "branch", { "diff", @@ -37,6 +37,25 @@ M.setup = function() }, } + local workspace = { + { + function() + return utils.diagnostic + .indicator(nil) + :gsub("DiagnosticSignError", "lualine_b_diagnostics_error_normal") + :gsub("DiagnosticSignWarn", "lualine_b_diagnostics_warn_normal") + :gsub("DiagnosticSignInfo", "lualine_b_diagnostics_info_normal") + :gsub("DiagnosticSignHint", "lualine_b_diagnostics_hint_normal") + end, + padding = { left = 1, right = 0 }, + color = "StatusLineNC", + }, + { + "filename", + path = 1, + }, + } + local buffer = { { "filename", @@ -72,19 +91,8 @@ M.setup = function() sections = { lualine_a = { { "mode", fmt = M.to_char } }, - lualine_b = workspace, - lualine_c = { - { - function() - return utils.diagnostic.indicator(nil) - end, - padding = { left = 1, right = 0 }, - }, - { - "filename", - path = 1, - }, - }, + lualine_b = git, + lualine_c = workspace, lualine_x = { "encoding", "fileformat", diff --git a/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua b/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua index 6b90c64..9e02c16 100644 --- a/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua +++ b/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua @@ -16,6 +16,8 @@ setmetatable(M.signs, { end, }) +---@param bufnr number? +---@return table M.count = function(bufnr) local items = {} for i, level in ipairs(vim.diagnostic.severity) do @@ -34,12 +36,16 @@ M.count = function(bufnr) return items end +---@param bufnr number? +---@return string M.indicator = function(bufnr) local diagnostic_count = M.count(bufnr) local tbl = {} for level, count in pairs(diagnostic_count) do if count > 0 then - table.insert(tbl, M.signs[level].text .. count) + local color = "%#" .. M.signs[level].texthl .. "#" + local indicator = color .. M.signs[level].text .. count + table.insert(tbl, indicator) end end return table.concat(tbl, " ") |