From ee4afdeedb219a6a449bb8f42893e8fc53ae4478 Mon Sep 17 00:00:00 2001 From: Rick Jones Date: Wed, 8 Jul 2020 22:23:38 +0100 Subject: [PATCH 1/2] Dynamically resize section Z Resolves: #2168 --- autoload/airline/init.vim | 6 +++--- t/init.vim | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/autoload/airline/init.vim b/autoload/airline/init.vim index 6a03c121..b3191d8d 100644 --- a/autoload/airline/init.vim +++ b/autoload/airline/init.vim @@ -149,7 +149,7 @@ function! airline#init#bootstrap() call airline#parts#define_raw('file', '%f%m') call airline#parts#define_raw('path', '%F%m') call airline#parts#define('linenr', { - \ 'raw': '%{g:airline_symbols.linenr}%4l', + \ 'raw': '%{g:airline_symbols.linenr}%l', \ 'accent': 'bold'}) call airline#parts#define('maxlinenr', { \ 'raw': '/%L%{g:airline_symbols.maxlinenr}', @@ -213,9 +213,9 @@ function! airline#init#sections() endif if !exists('g:airline_section_z') 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 - 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 if !exists('g:airline_section_error') diff --git a/t/init.vim b/t/init.vim index c376a88d..6cc5620e 100644 --- a/t/init.vim +++ b/t/init.vim @@ -43,9 +43,9 @@ describe 'init sections' end it 'section z should be line numbers' - Expect g:airline_section_z =~ '%3p%%' - Expect g:airline_section_z =~ '%4l' - Expect g:airline_section_z =~ '%3v' + Expect g:airline_section_z =~ '%p%%' + Expect g:airline_section_z =~ '%l' + Expect g:airline_section_z =~ '%v' end it 'should not redefine sections already defined' From 46c35b80a1ea7e851f47e9042edff79ce9176288 Mon Sep 17 00:00:00 2001 From: Rick Jones Date: Wed, 8 Jul 2020 23:30:31 +0100 Subject: [PATCH 2/2] Make appending airline_right_alt_sep conditional on it not being empty (wordcount) Was appending a redundant space when airline_right_alt_sep was empty. --- .../extensions/wordcount/formatters/default.vim | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/autoload/airline/extensions/wordcount/formatters/default.vim b/autoload/airline/extensions/wordcount/formatters/default.vim index c2072e92..7764e3a9 100644 --- a/autoload/airline/extensions/wordcount/formatters/default.vim +++ b/autoload/airline/extensions/wordcount/formatters/default.vim @@ -10,6 +10,7 @@ endfunction " Reload format when statusline is rebuilt call airline#extensions#wordcount#formatters#default#update_fmt() + if index(g:airline_statusline_funcrefs, function('airline#extensions#wordcount#formatters#default#update_fmt')) == -1 " only add it, if not already done 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 let str = printf(s:fmt_short, a:wordcount) 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