diff options
| author | Robert Günzler <r@gnzler.io> | 2021-11-02 17:41:56 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-11-02 19:06:48 +0100 |
| commit | a1149828dd403d4811e3615540cf8bbd98c56a6b (patch) | |
| tree | e8207a118e4bdd2e5a2a21b4809ddb18b78da336 | |
| parent | a7b411e639eaaf6ec1f651292a884f15f3703a97 (diff) | |
vim: bring lightbulb to statusline
| -rw-r--r-- | .vim/init.lua | 20 | ||||
| -rw-r--r-- | .vim/lua/colors.lua | 1 | ||||
| -rw-r--r-- | .vim/lua/plugins.lua | 7 |
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 = '', } |