From ebd06bf21fce767bfbe68396196e4403ca4d6e00 Mon Sep 17 00:00:00 2001 From: Yggdroot Date: Sat, 20 May 2017 16:02:15 +0800 Subject: [PATCH] fix issue #204 --- after/plugin/indentLine.vim | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/after/plugin/indentLine.vim b/after/plugin/indentLine.vim index 6dcb432..6183d1a 100644 --- a/after/plugin/indentLine.vim +++ b/after/plugin/indentLine.vim @@ -192,31 +192,47 @@ function! s:ResetWidth(...) call s:IndentLinesEnable() endfunction -"{{{1 function! s:Setup() -function! s:Setup() +"{{{1 function! s:Filter() +function! s:Filter() if index(g:indentLine_fileTypeExclude, &filetype) != -1 - return + return 0 endif if len(g:indentLine_fileType) != 0 && index(g:indentLine_fileType, &filetype) == -1 - return + return 0 endif for name in g:indentLine_bufNameExclude if matchstr(bufname(''), name) == bufname('') - return + return 0 endif endfor + return 1 +endfunction + +function! s:Disable() + if exists("b:indentLine_enabled") && b:indentLine_enabled + return + elseif exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled + return + elseif s:Filter() == 0 + call s:IndentLinesDisable() + call s:LeadingSpaceDisable() + endif +endfunction + +"{{{1 function! s:Setup() +function! s:Setup() if &filetype ==# "" call s:InitColor() endif - if g:indentLine_enabled || exists("b:indentLine_enabled") && b:indentLine_enabled + if s:Filter() && g:indentLine_enabled || exists("b:indentLine_enabled") && b:indentLine_enabled call s:IndentLinesEnable() endif - if g:indentLine_leadingSpaceEnabled || exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled + if s:Filter() && g:indentLine_leadingSpaceEnabled || exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled call s:LeadingSpaceEnable() endif endfunction @@ -295,10 +311,8 @@ function! s:LeadingSpaceToggle() endif if exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled - let b:indentLine_leadingSpaceEnabled = 0 call s:LeadingSpaceDisable() else - let b:indentLine_leadingSpaceEnabled = 1 call s:LeadingSpaceEnable() endif endfunction @@ -310,6 +324,7 @@ augroup indentLine autocmd BufRead,BufNewFile,ColorScheme,Syntax * call InitColor() autocmd BufWinEnter * call IndentLinesDisable() | call LeadingSpaceDisable() | call Setup() autocmd WinEnter * call Setup() + autocmd FileType * call Disable() else autocmd BufWinEnter * call Setup() autocmd User * if exists("b:indentLine_enabled") || exists("b:indentLine_leadingSpaceEnabled") |