From 9c1fcc263ee5b921159bb9ce4c8405f20a168706 Mon Sep 17 00:00:00 2001 From: Mario Mintel Date: Wed, 16 Nov 2022 22:06:14 +0100 Subject: [PATCH] feat: use defined signs for diagnostics provider --- lua/feline/providers/lsp.lua | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lua/feline/providers/lsp.lua b/lua/feline/providers/lsp.lua index f421559..00a3037 100644 --- a/lua/feline/providers/lsp.lua +++ b/lua/feline/providers/lsp.lua @@ -32,20 +32,30 @@ local function diagnostics(severity) return count ~= 0 and tostring(count) or '' end +local function get_sign(signname) + local sign = vim.fn.sign_getdefined(signname) + + if next(sign) ~= nil then + return ' ' .. sign[1].text .. ' ' + end + + return '' +end + function M.diagnostic_errors() - return diagnostics(diagnostic.severity.ERROR), '  ' + return diagnostics(diagnostic.severity.ERROR), get_sign('DiagnosticSignError') end function M.diagnostic_warnings() - return diagnostics(diagnostic.severity.WARN), '  ' + return diagnostics(diagnostic.severity.WARN), get_sign('DiagnosticSignWarn') end function M.diagnostic_info() - return diagnostics(diagnostic.severity.INFO), '  ' + return diagnostics(diagnostic.severity.INFO), get_sign('DiagnosticSignInfo') end function M.diagnostic_hints() - return diagnostics(diagnostic.severity.HINT), '  ' + return diagnostics(diagnostic.severity.HINT), get_sign('DiagnosticSignHint') end return M