Skip to content

Commit 7af506c

Browse files
committed
Tweaked highlight patterns.
1 parent 73703c9 commit 7af506c

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

autoload/indent_guides.vim

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,21 @@ function! indent_guides#enable()
4040
" loop through each indent level and define a highlight pattern
4141
" will automagically figure out whether to use tabs or spaces
4242
for l:level in range(s:start_level, s:indent_levels)
43-
let l:group = 'IndentGuides' . ((l:level % 2 == 0) ? 'Even' : 'Odd')
44-
let l:pattern = '^\s*\%' . ((l:level - 1) * s:indent_size + 1) . 'v\zs'
45-
let l:pattern .= '\s*\%' . (((l:level - 1) * s:indent_size + 1) + s:guide_size) . 'v'
46-
let l:pattern .= '\ze'
43+
let l:group = 'IndentGuides' . ((l:level % 2 == 0) ? 'Even' : 'Odd')
44+
45+
" soft-tab pattern
46+
let l:soft_pattern = '^\s*\%' . ((l:level - 1) * s:indent_size + 1) . 'v\zs'
47+
let l:soft_pattern .= '\s*\%' . (((l:level - 1) * s:indent_size + 1) + s:guide_size) . 'v'
48+
let l:soft_pattern .= '\ze'
49+
50+
" hard-tab pattern
51+
let l:hard_pattern = '^\t*\%' . ((l:level - 1) * s:indent_size + 1) . 'v\zs'
52+
let l:hard_pattern .= '\t*\%' . (((l:level - 1) * s:indent_size + 1) + s:indent_size) . 'v'
53+
let l:hard_pattern .= '\ze'
4754

4855
" define the higlight pattern and add to list
49-
call add(w:indent_guides_matches, matchadd(l:group, l:pattern))
56+
call add(w:indent_guides_matches, matchadd(l:group, l:soft_pattern))
57+
call add(w:indent_guides_matches, matchadd(l:group, l:hard_pattern))
5058
endfor
5159
endfunction
5260

@@ -206,18 +214,10 @@ endfunction
206214
" NOTE: Currently, this only works when soft-tabs are being used.
207215
"
208216
function! indent_guides#calculate_guide_size()
209-
let l:guide_size = g:indent_guides_guide_size
217+
let l:guide_size = g:indent_guides_guide_size
210218

211-
if &expandtab == 0 && &tabstop == s:indent_size
219+
if l:guide_size > s:indent_size
212220
let l:guide_size = s:indent_size
213-
else
214-
if s:indent_size > 1 && l:guide_size >= 1
215-
if l:guide_size > s:indent_size
216-
let l:guide_size = s:indent_size
217-
end
218-
else
219-
let l:guide_size = s:indent_size
220-
endif
221221
endif
222222

223223
return l:guide_size

0 commit comments

Comments
 (0)