From a10d321809135ce35d8b6f105291902b1f2b8a76 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Fri, 30 Jun 2017 21:37:37 +0200 Subject: [PATCH] whitespace: move s:variables around Will make sure, that even after setting the whitespace extension variables, they are taken correctly into account. --- autoload/airline/extensions/whitespace.vim | 33 +++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/autoload/airline/extensions/whitespace.vim b/autoload/airline/extensions/whitespace.vim index cc6609c..9ad5971 100644 --- a/autoload/airline/extensions/whitespace.vim +++ b/autoload/airline/extensions/whitespace.vim @@ -9,18 +9,12 @@ let s:show_message = get(g:, 'airline#extensions#whitespace#show_message', 1) let s:symbol = get(g:, 'airline#extensions#whitespace#symbol', g:airline_symbols.whitespace) let s:default_checks = ['indent', 'trailing', 'mixed-indent-file'] -let s:trailing_format = get(g:, 'airline#extensions#whitespace#trailing_format', '[%s]trailing') -let s:mixed_indent_format = get(g:, 'airline#extensions#whitespace#mixed_indent_format', '[%s]mixed-indent') -let s:long_format = get(g:, 'airline#extensions#whitespace#long_format', '[%s]long') -let s:mixed_indent_file_format = get(g:, 'airline#extensions#whitespace#mixed_indent_file_format', '[%s]mix-indent-file') -let s:indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0) -let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file'] } -let s:max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000) let s:enabled = get(g:, 'airline#extensions#whitespace#enabled', 1) -let s:c_like_langs = get(g:, 'airline#extensions#c_like_langs', [ 'c', 'cpp', 'cuda', 'go', 'javascript', 'ld', 'php' ]) +let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file'] } function! s:check_mixed_indent() - if s:indent_algo == 1 + let indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0) + if indent_algo == 1 " [] " spaces before or between tabs are not allowed let t_s_t = '(^\t* +\t\s*\S)' @@ -28,7 +22,7 @@ function! s:check_mixed_indent() " count of spaces at the end of tabs should be less than tabstop value let t_l_s = '(^\t+ {' . &ts . ',}' . '\S)' return search('\v' . t_s_t . '|' . t_l_s, 'nw') - elseif s:indent_algo == 2 + elseif indent_algo == 2 return search('\v(^\t* +\t\s*\S)', 'nw') else return search('\v(^\t+ +)|(^ +\t+)', 'nw') @@ -36,7 +30,9 @@ function! s:check_mixed_indent() endfunction function! s:check_mixed_indent_file() - if index(s:c_like_langs, &ft) > -1 + let c_like_langs = get(g:, 'airline#extensions#c_like_langs', + \ [ 'c', 'cpp', 'cuda', 'go', 'javascript', 'ld', 'php' ]) + if index(c_like_langs, &ft) > -1 " for C-like languages: allow /** */ comment style with one space before the '*' let head_spc = '\v(^ +\*@!)' else @@ -52,7 +48,8 @@ function! s:check_mixed_indent_file() endfunction function! airline#extensions#whitespace#check() - if &readonly || !&modifiable || !s:enabled || line('$') > s:max_lines + let max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000) + if &readonly || !&modifiable || !s:enabled || line('$') > max_lines \ || get(b:, 'airline_whitespace_disabled', 0) return '' endif @@ -100,16 +97,20 @@ function! airline#extensions#whitespace#check() if s:show_message if trailing != 0 - let b:airline_whitespace_check .= space.printf(s:trailing_format, trailing) + let trailing_fmt = get(g:, 'airline#extensions#whitespace#trailing_format', '[%s]trailing') + let b:airline_whitespace_check .= space.printf(trailing_fm, trailing) endif if mixed != 0 - let b:airline_whitespace_check .= space.printf(s:mixed_indent_format, mixed) + let mixed_indent_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_format', '[%s]mixed-indent') + let b:airline_whitespace_check .= space.printf(mixed_indent_fmt, mixed) endif if long != 0 - let b:airline_whitespace_check .= space.printf(s:long_format, long) + let long_fmt = get(g:, 'airline#extensions#whitespace#long_format', '[%s]long') + let b:airline_whitespace_check .= space.printf(long_fmt, long) endif if !empty(mixed_file) - let b:airline_whitespace_check .= space.printf(s:mixed_indent_file_format, mixed_file) + let mixed_indent_file_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_file_format', '[%s]mix-indent-file') + let b:airline_whitespace_check .= space.printf(mixed_indent_file_fmt, mixed_file) endif endif endif