From 346d2b9db3d65fa3ba6ba4ad90d0b4e115c2beb3 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Fri, 21 Jul 2017 06:05:51 +0800 Subject: [PATCH] Fix inactive bar --- autoload/SpaceVim.vim | 1 + autoload/SpaceVim/layers/core/statusline.vim | 39 +++++++++++--------- autoload/SpaceVim/layers/core/tabline.vim | 34 +++++++++++++---- mode/basic.vim | 1 + 4 files changed, 49 insertions(+), 26 deletions(-) diff --git a/autoload/SpaceVim.vim b/autoload/SpaceVim.vim index 98f2add04..009df2a51 100644 --- a/autoload/SpaceVim.vim +++ b/autoload/SpaceVim.vim @@ -150,6 +150,7 @@ let g:spacevim_enable_cursorline = 1 " See more details in: http://spacevim.org/documentation/#statusline " let g:spacevim_statusline_separator = 'arrow' +let g:spacevim_statusline_inactive_separator = 'arrow' "" " Enable/Disable cursorcolumn. Default is 0, cursorcolumn will be " highlighted in normal mode. To enable this feature: diff --git a/autoload/SpaceVim/layers/core/statusline.vim b/autoload/SpaceVim/layers/core/statusline.vim index 38d2aafa5..6a3fe86b1 100644 --- a/autoload/SpaceVim/layers/core/statusline.vim +++ b/autoload/SpaceVim/layers/core/statusline.vim @@ -25,6 +25,11 @@ let s:separators = { \ 'fire' : ["\ue0c0", "\ue0c2"], \ 'nil' : ['', ''], \ } +let s:i_separators = { + \ 'arrow' : ["\ue0b1", "\ue0b3"], + \ 'bar' : ["|", "|"], + \ 'nil' : ['', ''], + \ } let s:loaded_modes = ['syntax-checking'] let s:modes = { \ 'center-cursor': { @@ -187,36 +192,33 @@ endfunction function! SpaceVim#layers#core#statusline#get(...) abort if &filetype ==# 'vimfiler' - return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' - \ . '%#SpaceVim_statusline_b# vimfiler %#SpaceVim_statusline_b_SpaceVim_statusline_c#' - elseif &filetype ==# 'tagbar' - return '%#SpaceVim_statusline_ia# ' . s:winnr(1) . ' %#SpaceVim_statusline_a_b#' - \ . '%#SpaceVim_statusline_b# tagbar %#SpaceVim_statusline_b_c#' + return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# vimfiler %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'startify' call fugitive#detect(getcwd()) elseif &filetype ==# 'SpaceVimLayerManager' - return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' - \ . '%#SpaceVim_statusline_b# LayerManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' + return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# LayerManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimPlugManager' - return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' - \ . '%#SpaceVim_statusline_b# PlugManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' + return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# PlugManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimTabsManager' - return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' - \ . '%#SpaceVim_statusline_b# TabsManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' + return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# TabsManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'denite' return '%#SpaceVim_statusline_a_bold# %{SpaceVim#layers#core#statusline#denite_mode()} ' - \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b# ' - \ . '%#SpaceVim_statusline_b#%{denite#get_status_sources()} %#SpaceVim_statusline_b_SpaceVim_statusline_z# ' - \ . '%#SpaceVim_statusline_z#%=%#SpaceVim_statusline_c_SpaceVim_statusline_z#' + \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b#' . s:lsep . ' ' + \ . '%#SpaceVim_statusline_b#%{denite#get_status_sources()} %#SpaceVim_statusline_b_SpaceVim_statusline_z#' . s:lsep . ' ' + \ . '%#SpaceVim_statusline_z#%=%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:rsep \ . '%#SpaceVim_statusline_c# %{denite#get_status_path() . denite#get_status_linenr()}' elseif &filetype ==# 'unite' return '%#SpaceVim_statusline_a_bold#%{SpaceVim#layers#core#statusline#unite_mode()} Unite ' - \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b# %{get(unite#get_context(), "buffer_name", "")} ' - \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c# ' + \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b#' . s:lsep . ' %{get(unite#get_context(), "buffer_name", "")} ' + \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' \ . '%#SpaceVim_statusline_c# %{unite#get_status_string()} ' elseif &filetype ==# 'SpaceVimFlyGrep' - return '%#SpaceVim_statusline_a# FlyGrep %#SpaceVim_statusline_a_SpaceVim_statusline_b#' - \ . '%#SpaceVim_statusline_b# %{getcwd()}%#SpaceVim_statusline_b_SpaceVim_statusline_c#' + return '%#SpaceVim_statusline_a# FlyGrep %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# %{getcwd()}%#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep \ . '%#SpaceVim_statusline_c# %{SpaceVim#plugins#flygrep#lineNr()}' endif if a:0 > 0 @@ -345,6 +347,7 @@ endfunction function! SpaceVim#layers#core#statusline#config() abort let [s:lsep , s:rsep] = get(s:separators, g:spacevim_statusline_separator, s:separators['arrow']) + let [s:ilsep , s:irsep] = get(s:i_separators, g:spacevim_statusline_inactive_separator, s:i_separators['arrow']) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'm'], 'call SpaceVim#layers#core#statusline#toggle_section("minor mode lighters")', \ 'toggle the minor mode lighters', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'v'], 'call SpaceVim#layers#core#statusline#toggle_section("version control info")', diff --git a/autoload/SpaceVim/layers/core/tabline.vim b/autoload/SpaceVim/layers/core/tabline.vim index 8f281808f..6519e1827 100644 --- a/autoload/SpaceVim/layers/core/tabline.vim +++ b/autoload/SpaceVim/layers/core/tabline.vim @@ -20,6 +20,22 @@ let s:HI = SpaceVim#api#import('vim#highlight') let g:_spacevim_tabline_loaded = 1 let s:buffers = s:BUFFER.listed_buffers() +" init +let s:separators = { + \ 'arrow' : ["\ue0b0", "\ue0b2"], + \ 'curve' : ["\ue0b4", "\ue0b6"], + \ 'slant' : ["\ue0b8", "\ue0ba"], + \ 'brace' : ["\ue0d2", "\ue0d4"], + \ 'fire' : ["\ue0c0", "\ue0c2"], + \ 'nil' : ['', ''], + \ } + +let s:i_separators = { + \ 'arrow' : ["\ue0b1", "\ue0b3"], + \ 'bar' : ["|", "|"], + \ 'nil' : ['', ''], + \ } + function! s:tabname(id) abort if g:spacevim_buffer_index_type == 3 let id = s:messletters.index_num(a:id) @@ -77,14 +93,14 @@ function! SpaceVim#layers#core#tabline#get() abort endif let t .= id . ' ' . name if i == ct - 1 - let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a# ' + let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep . ' ' elseif i == ct - let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b# ' + let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . ' ' else - let t .= '  ' + let t .= ' ' . s:ilsep . ' ' endif endfor - let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' + let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:rsep let t .= '%#SpaceVim_tabline_a# Tabs' else let s:buffers = s:BUFFER.listed_buffers() @@ -122,19 +138,21 @@ function! SpaceVim#layers#core#tabline#get() abort endif let t .= id . ' ' . name if i == ct - let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b# ' + let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . ' ' elseif i == pt - let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a# ' + let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep . ' ' else - let t .= '  ' + let t .= ' ' . s:ilsep . ' ' endif endfor - let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' + let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:rsep let t .= '%#SpaceVim_tabline_a# Buffers' endif return t endfunction function! SpaceVim#layers#core#tabline#config() abort + let [s:lsep , s:rsep] = get(s:separators, g:spacevim_statusline_separator, s:separators['arrow']) + let [s:ilsep , s:irsep] = get(s:i_separators, g:spacevim_statusline_inactive_separator, s:separators['arrow']) set tabline=%!SpaceVim#layers#core#tabline#get() augroup SpaceVim_tabline autocmd! diff --git a/mode/basic.vim b/mode/basic.vim index f61daa995..272033e55 100644 --- a/mode/basic.vim +++ b/mode/basic.vim @@ -1,6 +1,7 @@ " Basic mode of SpaceVim, generated by SpaceVim automatically. let g:spacevim_enable_guicolors = 0 let g:spacevim_statusline_separator = 'nil' +let g:spacevim_statusline_inactive_separator = 'bar' let g:spacevim_buffer_index_type = 4 let g:spacevim_enable_tabline_filetype_icon = 0