From a1149828dd403d4811e3615540cf8bbd98c56a6b Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Tue, 2 Nov 2021 17:41:56 +0100 Subject: vim: bring lightbulb to statusline --- .vim/init.lua | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to '.vim/init.lua') diff --git a/.vim/init.lua b/.vim/init.lua index a3d7487..51f3ade 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -163,24 +163,30 @@ function _G.statusline() local sl = '' -- left sl = sl .. hi - sl = sl .. statusline_hi(' ⢷', '%#StatusLineIcon#', hi) + sl = sl .. statusline_append(' ⢷', '%#StatusLineIcon#', hi) sl = sl .. [[ %<%F %-m %-r ]] + -- right sl = sl .. [[ %= ]] -- spacer local lsp_spinner = require('spinner').status(vim.fn.bufnr()) + sl = sl .. statusline_append(lsp_spinner, '%#StatusLineJobs#', hi) + local lsp_diagnostics = statusline_lsp_diagnostics(vim.fn.bufnr()) + sl = sl .. statusline_append(lsp_diagnostics, '%#StatusLineDiagnostics#', hi) + + local lsp_lightbulb = require('nvim-lightbulb').get_status_text() + sl = sl .. statusline_append(lsp_lightbulb, '%#StatusLineLightbulb#', hi) - sl = sl .. statusline_hi(lsp_spinner, '%#StatusLineJobs#', hi) - sl = sl .. ' ' - sl = sl .. statusline_hi(lsp_diagnostics, '%#StatusLineDiagnostics#', hi) sl = sl .. [[  %l:%v %y ]] return sl end -function _G.statusline_hi(element, hi, default) +-- statusline_append +-- does item highlighting and conditionnal spacing +function _G.statusline_append(element, hi, default_hi) if not element or element == '' then return '' end - if not (default == '%*') then hi = '' end - return hi .. element .. default + if not (default_hi == '%*') then hi = '' end + return hi .. element .. default_hi .. ' ' end function _G.statusline_color(mode) local hi = '%*' -- cgit 1.4.1