update separator colors when mode changes
This commit is contained in:
parent
47c80c31da
commit
af7dfc8677
|
@ -39,6 +39,7 @@ function! airline#load_theme(name)
|
||||||
let g:airline_theme = a:name
|
let g:airline_theme = a:name
|
||||||
let inactive_colors = g:airline#themes#{g:airline_theme}#inactive "also lazy loads the theme
|
let inactive_colors = g:airline#themes#{g:airline_theme}#inactive "also lazy loads the theme
|
||||||
let w:airline_lastmode = ''
|
let w:airline_lastmode = ''
|
||||||
|
call airline#update_statusline()
|
||||||
call airline#reload_highlight()
|
call airline#reload_highlight()
|
||||||
call airline#update_highlight()
|
call airline#update_highlight()
|
||||||
endfunction
|
endfunction
|
||||||
|
@ -55,9 +56,9 @@ function! airline#highlight(modes)
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
if exists('w:airline_current_builder')
|
for sep in w:airline_current_info.separator_groups
|
||||||
call w:airline_current_builder.refresh_separator_highlights()
|
call airline#themes#exec_highlight_separator(sep[0], sep[1])
|
||||||
endif
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" for 7.2 compatibility
|
" for 7.2 compatibility
|
||||||
|
@ -74,7 +75,6 @@ endfunction
|
||||||
|
|
||||||
function! airline#get_statusline(winnr, active)
|
function! airline#get_statusline(winnr, active)
|
||||||
let builder = airline#builder#new(a:active)
|
let builder = airline#builder#new(a:active)
|
||||||
call setwinvar(a:winnr, 'airline_current_builder', builder)
|
|
||||||
|
|
||||||
if s:getwinvar(a:winnr, 'airline_render_left', a:active || (!a:active && !g:airline_inactive_collapse))
|
if s:getwinvar(a:winnr, 'airline_render_left', a:active || (!a:active && !g:airline_inactive_collapse))
|
||||||
call builder.add_section('Al2', s:get_section(a:winnr, 'a').'%{g:airline_detect_paste && &paste ? g:airline_paste_symbol." " : ""}')
|
call builder.add_section('Al2', s:get_section(a:winnr, 'a').'%{g:airline_detect_paste && &paste ? g:airline_paste_symbol." " : ""}')
|
||||||
|
@ -94,7 +94,10 @@ function! airline#get_statusline(winnr, active)
|
||||||
call builder.add_raw('%)')
|
call builder.add_raw('%)')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return builder.build()
|
|
||||||
|
let info = builder.build()
|
||||||
|
call setwinvar(a:winnr, 'airline_current_info', info)
|
||||||
|
return info.statusline
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#exec_funcrefs(list, break_early)
|
function! airline#exec_funcrefs(list, break_early)
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
function! airline#builder#new(active)
|
function! airline#builder#new(active)
|
||||||
let builder = {}
|
let builder = {}
|
||||||
let builder._sections = []
|
let builder._sections = []
|
||||||
let builder._separator_groups = []
|
|
||||||
let builder._active = a:active
|
let builder._active = a:active
|
||||||
|
|
||||||
function! builder.split(gutter)
|
function! builder.split(gutter)
|
||||||
|
@ -33,6 +32,7 @@ function! airline#builder#new(active)
|
||||||
let line = '%{airline#update_highlight()}'
|
let line = '%{airline#update_highlight()}'
|
||||||
let side = 0
|
let side = 0
|
||||||
let prev_group = ''
|
let prev_group = ''
|
||||||
|
let separator_groups = []
|
||||||
for section in self._sections
|
for section in self._sections
|
||||||
if section[0] == '|'
|
if section[0] == '|'
|
||||||
let side = 1
|
let side = 1
|
||||||
|
@ -47,7 +47,7 @@ function! airline#builder#new(active)
|
||||||
|
|
||||||
if prev_group != ''
|
if prev_group != ''
|
||||||
let sep = side == 0 ? [section[0], prev_group] : [prev_group, section[0]]
|
let sep = side == 0 ? [section[0], prev_group] : [prev_group, section[0]]
|
||||||
call add(self._separator_groups, sep)
|
call add(separator_groups, sep)
|
||||||
let line .= side == 0
|
let line .= side == 0
|
||||||
\ ? self._group(section[0].'_to_'.prev_group)
|
\ ? self._group(section[0].'_to_'.prev_group)
|
||||||
\ : self._group(prev_group.'_to_'.section[0])
|
\ : self._group(prev_group.'_to_'.section[0])
|
||||||
|
@ -59,8 +59,11 @@ function! airline#builder#new(active)
|
||||||
let line .= self._group(section[0]).section[1]
|
let line .= self._group(section[0]).section[1]
|
||||||
let prev_group = section[0]
|
let prev_group = section[0]
|
||||||
endfor
|
endfor
|
||||||
call self.refresh_separator_highlights()
|
|
||||||
return line
|
return {
|
||||||
|
\ 'statusline': line,
|
||||||
|
\ 'separator_groups': separator_groups,
|
||||||
|
\ }
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
return builder
|
return builder
|
||||||
|
|
Loading…
Reference in New Issue