summary refs log tree commit diff
path: root/.vim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/init.lua')
-rw-r--r--.vim/init.lua20
1 files changed, 13 insertions, 7 deletions
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 = '%*'