nvim/lua/statusline/line.lua (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
local git = require('statusline.git') local vd = require('vim.diagnostic') local M = {} local function diagnostic_highlight(diagnostics) local severity = { E = diagnostics[vd.severity.E], W = diagnostics[vd.severity.W], I = diagnostics[vd.severity.I], H = diagnostics[vd.severity.N], } local highlight = { E = '%#LineError#', W = '%#LineWarning#', I = '%#LineInfo#', H = '%#LineHint#', } local stl = {} for k, v in pairs(severity) do if v > 0 then table.insert(stl, ' '..highlight[k]..k..v) end end return table.concat(stl) end function M.statusline() local stl = {} if vim.bo.filetype ~= 'NvimTree' then stl = {''} end local diagnostics = vd.count(0) stl = { '%#LinePrimaryBlock#', '%f', '%#LineBlanks#', '%m', --'%#LineSecondaryBlock#', --' '..git.git_branch, '%=', diagnostic_highlight(diagnostics)..' ', '%#LineBlanks#', '%#LineSecondaryBlock#', '%l,%c ', '%#LinePrimaryBlock#', '%{&filetype}', } return table.concat(stl) end return M |