diff --git a/plugin/statusline.vim b/plugin/statusline.vim index 0fa4a62..1b11e93 100644 --- a/plugin/statusline.vim +++ b/plugin/statusline.vim @@ -49,7 +49,7 @@ function! statusline#special(group, name, title) endfunction " Construct a statusline for generic buffer types. -function! statusline#generic(group, mode) +function! statusline#generic(group, mode, coc) " Display current mode with dynamic highlights. let l:mode = '%#'.a:group.'# '.a:mode.' ' " Display spell or paste if set with dusk highlights in a group to swallow @@ -64,7 +64,7 @@ function! statusline#generic(group, mode) let l:state = '%#StatusLineDark#' \.'%{&readonly ? " 🔒" : ""}' \.'%{&modifiable ? "" : " ⛔"}' - if exists('*coc#status') + if a:coc && exists('*coc#status') " Display coc.nvim status. let l:coc = '%#StatusLineDuskFade#%( %{coc#status()}%)' else @@ -108,11 +108,11 @@ function! statusline#active() if l:mode ==# 'Normal' let l:mode = 'Preview' endif - return statusline#generic('StatusLineLight', l:mode) + return statusline#generic('StatusLineLight', l:mode, v:false) elseif &filetype ==# 'man' return statusline#special('StatusLineDusk', 'Manual', '%f') endif - return statusline#generic('StatusLineLight', l:mode) + return statusline#generic('StatusLineLight', l:mode, v:true) endfunction " Define inactive statusline, this remains static until the buffer gains @@ -130,11 +130,11 @@ function! statusline#inactive() elseif &buftype ==# 'terminal' let l:statusline = statusline#special('StatusLineDusk', 'Terminal', '%f') elseif &previewwindow - let l:statusline = statusline#generic('StatusLineDusk', 'Preview') + let l:statusline = statusline#generic('StatusLineDusk', 'Preview', v:false) elseif &filetype ==# 'man' let l:statusline = statusline#special('StatusLineDusk', 'Manual', '%f') else - let l:statusline = statusline#generic('StatusLineDusk', 'Idle') + let l:statusline = statusline#generic('StatusLineDusk', 'Idle', v:false) endif " Escape spaces and double quotes for use in setlocal. let l:statusline = substitute(l:statusline, '\([ "]\)', '\\\0', 'g')