summary refs log tree commit diff
path: root/.vim
diff options
context:
space:
mode:
Diffstat (limited to '.vim')
-rw-r--r--.vim/init.lua20
-rw-r--r--.vim/lua/colors.lua1
-rw-r--r--.vim/lua/plugins.lua7
3 files changed, 18 insertions, 10 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 = '%*'
diff --git a/.vim/lua/colors.lua b/.vim/lua/colors.lua
index f955ae1..8e42e28 100644
--- a/.vim/lua/colors.lua
+++ b/.vim/lua/colors.lua
@@ -290,5 +290,6 @@ return lush(function()
     StatusLineReplace { fg = hsl(p.bright.white), bg = hsl(p.bright.red) },
     StatusLineJobs { LspDiagnosticsHint },
     StatusLineDiagnostics { StatusLine },
+    StatusLineLightbulb { fg = hsl(p.bright.yellow) },
   }
 end)
diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua
index d808784..14afe8a 100644
--- a/.vim/lua/plugins.lua
+++ b/.vim/lua/plugins.lua
@@ -103,7 +103,7 @@ return require('packer').startup({function()
     end}
 
   use {'kosayoda/nvim-lightbulb', -- {{{
-    branch = 'virtual-text-column',
+    -- branch = 'virtual-text-column',
     config = function()
       _G.lightbulb_config = {
         sign = {
@@ -116,13 +116,14 @@ return require('packer').startup({function()
           win_opts = {},
         },
         virtual_text = {
-          enabled = true,
+          enabled = false,
           text = '← 󰌵',
           text_pos = 'eol',
           column = -1,
         },
+        -- status text only works on master
         status_text = {
-          enabled = false,
+          enabled = true,
           text = '󰌵',
           test_unavailable = '',
         }