Merge pull request #2174 from nomasprime/dynamically_resize_section_z

Dynamically resize section Z
This commit is contained in:
Christian Brabandt 2020-07-09 08:41:45 +02:00 committed by GitHub
commit 08bab60614
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 7 deletions

View File

@ -10,6 +10,7 @@ endfunction
" Reload format when statusline is rebuilt " Reload format when statusline is rebuilt
call airline#extensions#wordcount#formatters#default#update_fmt() call airline#extensions#wordcount#formatters#default#update_fmt()
if index(g:airline_statusline_funcrefs, function('airline#extensions#wordcount#formatters#default#update_fmt')) == -1 if index(g:airline_statusline_funcrefs, function('airline#extensions#wordcount#formatters#default#update_fmt')) == -1
" only add it, if not already done " only add it, if not already done
call airline#add_statusline_funcref(function('airline#extensions#wordcount#formatters#default#update_fmt')) call airline#add_statusline_funcref(function('airline#extensions#wordcount#formatters#default#update_fmt'))
@ -35,5 +36,12 @@ function! airline#extensions#wordcount#formatters#default#to_string(wordcount)
else else
let str = printf(s:fmt_short, a:wordcount) let str = printf(s:fmt_short, a:wordcount)
endif endif
return str . g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space
let str .= g:airline_symbols.space
if !empty(g:airline_right_alt_sep)
let str .= g:airline_right_alt_sep . g:airline_symbols.space
endif
return str
endfunction endfunction

View File

@ -149,7 +149,7 @@ function! airline#init#bootstrap()
call airline#parts#define_raw('file', '%f%m') call airline#parts#define_raw('file', '%f%m')
call airline#parts#define_raw('path', '%F%m') call airline#parts#define_raw('path', '%F%m')
call airline#parts#define('linenr', { call airline#parts#define('linenr', {
\ 'raw': '%{g:airline_symbols.linenr}%4l', \ 'raw': '%{g:airline_symbols.linenr}%l',
\ 'accent': 'bold'}) \ 'accent': 'bold'})
call airline#parts#define('maxlinenr', { call airline#parts#define('maxlinenr', {
\ 'raw': '/%L%{g:airline_symbols.maxlinenr}', \ 'raw': '/%L%{g:airline_symbols.maxlinenr}',
@ -213,9 +213,9 @@ function! airline#init#sections()
endif endif
if !exists('g:airline_section_z') if !exists('g:airline_section_z')
if airline#util#winwidth() > 79 if airline#util#winwidth() > 79
let g:airline_section_z = airline#section#create(['windowswap', 'obsession', '%3p%%'.spc, 'linenr', 'maxlinenr', spc.':%3v']) let g:airline_section_z = airline#section#create(['windowswap', 'obsession', '%p%%'.spc, 'linenr', 'maxlinenr', ':%v'])
else else
let g:airline_section_z = airline#section#create(['%3p%%'.spc, 'linenr', ':%3v']) let g:airline_section_z = airline#section#create(['%p%%'.spc, 'linenr', ':%v'])
endif endif
endif endif
if !exists('g:airline_section_error') if !exists('g:airline_section_error')

View File

@ -43,9 +43,9 @@ describe 'init sections'
end end
it 'section z should be line numbers' it 'section z should be line numbers'
Expect g:airline_section_z =~ '%3p%%' Expect g:airline_section_z =~ '%p%%'
Expect g:airline_section_z =~ '%4l' Expect g:airline_section_z =~ '%l'
Expect g:airline_section_z =~ '%3v' Expect g:airline_section_z =~ '%v'
end end
it 'should not redefine sections already defined' it 'should not redefine sections already defined'