From 33310c5b24f1cb28c255141ca8d4cd00b9ccc18d Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Fri, 27 Apr 2018 08:25:49 +0200 Subject: [PATCH] whitespace: Allow to disable individual whitespace checks per filetype closes #1716 --- autoload/airline/extensions/whitespace.vim | 8 +++++--- doc/airline.txt | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/autoload/airline/extensions/whitespace.vim b/autoload/airline/extensions/whitespace.vim index b3f839eb..ff080304 100644 --- a/autoload/airline/extensions/whitespace.vim +++ b/autoload/airline/extensions/whitespace.vim @@ -10,7 +10,7 @@ let s:symbol = get(g:, 'airline#extensions#whitespace#symbol', g:airline_symbols let s:default_checks = ['indent', 'trailing', 'mixed-indent-file'] let s:enabled = get(g:, 'airline#extensions#whitespace#enabled', 1) -let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file'] } +let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file']} function! s:check_mixed_indent() let indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0) @@ -53,6 +53,8 @@ function! airline#extensions#whitespace#check() \ || get(b:, 'airline_whitespace_disabled', 0) return '' endif + let skip_check_ft = extend(s:skip_check_ft, + \ get(g:, 'airline#extensions#whitespace#skip_indent_check_ft', {}), 'force') if !exists('b:airline_whitespace_check') let b:airline_whitespace_check = '' @@ -72,13 +74,13 @@ function! airline#extensions#whitespace#check() let mixed = 0 let check = 'indent' - if index(checks, check) > -1 && index(get(s:skip_check_ft, &ft, []), check) < 0 + if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0 let mixed = s:check_mixed_indent() endif let mixed_file = '' let check = 'mixed-indent-file' - if index(checks, check) > -1 && index(get(s:skip_check_ft, &ft, []), check) < 0 + if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0 let mixed_file = s:check_mixed_indent_file() endif diff --git a/doc/airline.txt b/doc/airline.txt index 07973a27..da9feb19 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -670,6 +670,14 @@ eclim " then whitespace checking will be disabled for that buffer; for example: " let b:airline_whitespace_disabled = 1 < +* disable specific whitespace checks for individual filetypes > + " The global variable g:airline#extensions#whitespace#skip_indent_check_ft + " defines what whitespaces checks to skip per filetype. + " the list can contain any of the available checks, + " (see above at g:airline#extensions#whitespace#checks) + " To disable mixed-indent-file for go files use: + let g:airline#extensions#whitespace#skip_indent_check_ft = {'go': ['mixed-indent-file']} +< ------------------------------------- *airline-tabline* Note: If you're using the ctrlspace tabline only the option marked with (c) are supported!