@@ -19,19 +19,18 @@ endfunction
1919" other buffers and windows.
2020"
2121function ! indent_guides#process_autocmds ()
22- if g: indent_guides_autocmds_enabled
22+ if indent_guides#getvar ( ' indent_guides_autocmds_enabled' )
2323 call indent_guides#enable ()
2424 else
2525 call indent_guides#disable ()
2626 end
2727endfunction
2828
2929"
30- " Enables the indent guides for the current buffer and any other buffer upon
31- " entering it.
30+ " Enables the indent guides for the current buffer
3231"
3332function ! indent_guides#enable ()
34- let g : indent_guides_autocmds_enabled = 1
33+ let b : indent_guides_autocmds_enabled = 1
3534
3635 if &diff || indent_guides#exclude_filetype ()
3736 call indent_guides#clear_matches ()
@@ -49,11 +48,11 @@ function! indent_guides#enable()
4948 let l: column_start = (l: level - 1 ) * s: indent_size + 1
5049
5150 " define the higlight patterns and add to matches list
52- if g: indent_guides_space_guides
53- let l: soft_pattern = indent_guides#indent_highlight_pattern (g: indent_guides_soft_pattern , l: column_start , s: guide_size )
51+ if indent_guides#getvar ( ' indent_guides_space_guides' )
52+ let l: soft_pattern = indent_guides#indent_highlight_pattern (indent_guides#getvar ( ' indent_guides_soft_pattern' ) , l: column_start , s: guide_size )
5453 call add (w: indent_guides_matches , matchadd (l: group , l: soft_pattern ))
5554 end
56- if g: indent_guides_tab_guides
55+ if indent_guides#getvar ( ' indent_guides_tab_guides' )
5756 let l: hard_pattern = indent_guides#indent_highlight_pattern (' \t' , l: column_start , s: indent_size )
5857 call add (w: indent_guides_matches , matchadd (l: group , l: hard_pattern ))
5958 end
@@ -65,7 +64,7 @@ endfunction
6564" entering it.
6665"
6766function ! indent_guides#disable ()
68- let g : indent_guides_autocmds_enabled = 0
67+ let b : indent_guides_autocmds_enabled = 0
6968 call indent_guides#clear_matches ()
7069endfunction
7170
@@ -194,19 +193,19 @@ function! indent_guides#init_script_vars()
194193 let s: hi_normal = substitute (s: hi_normal , ' font=[A-Za-z0-9:]\+' , " " , " " )
195194
196195 " shortcuts to the global variables - this makes the code easier to read
197- let s: debug = g: indent_guides_debug
198- let s: indent_levels = g: indent_guides_indent_levels
199- let s: auto_colors = g: indent_guides_auto_colors
200- let s: color_hex_pat = g: indent_guides_color_hex_pattern
201- let s: color_hex_bg_pat = g: indent_guides_color_hex_guibg_pattern
202- let s: color_name_bg_pat = g: indent_guides_color_name_guibg_pattern
203- let s: start_level = g: indent_guides_start_level
196+ let s: debug = indent_guides#getvar ( ' indent_guides_debug' )
197+ let s: indent_levels = indent_guides#getvar ( ' indent_guides_indent_levels' )
198+ let s: auto_colors = indent_guides#getvar ( ' indent_guides_auto_colors' )
199+ let s: color_hex_pat = indent_guides#getvar ( ' indent_guides_color_hex_pattern' )
200+ let s: color_hex_bg_pat = indent_guides#getvar ( ' indent_guides_color_hex_guibg_pattern' )
201+ let s: color_name_bg_pat = indent_guides#getvar ( ' indent_guides_color_name_guibg_pattern' )
202+ let s: start_level = indent_guides#getvar ( ' indent_guides_start_level' )
204203
205204 " str2float not available in vim versions <= 7.1
206205 if has (' float' )
207- let s: change_percent = g: indent_guides_color_change_percent / str2float (' 100.0' )
206+ let s: change_percent = indent_guides#getvar ( ' indent_guides_color_change_percent' ) / str2float (' 100.0' )
208207 else
209- let s: change_percent = g: indent_guides_color_change_percent / 100.0
208+ let s: change_percent = indent_guides#getvar ( ' indent_guides_color_change_percent' ) / 100.0
210209 endif
211210
212211 if s: debug
@@ -230,7 +229,7 @@ endfunction
230229" NOTE: Currently, this only works when soft-tabs are being used.
231230"
232231function ! indent_guides#calculate_guide_size ()
233- let l: guide_size = g: indent_guides_guide_size
232+ let l: guide_size = indent_guides#getvar ( ' indent_guides_guide_size' )
234233
235234 if l: guide_size == 0 || l: guide_size > s: indent_size
236235 let l: guide_size = s: indent_size
@@ -278,9 +277,26 @@ endfunction
278277"
279278function ! indent_guides#exclude_filetype ()
280279 for ft in split (&ft , ' \.' )
281- if index (g: indent_guides_exclude_filetypes , ft ) > -1
280+ if index (indent_guides#getvar ( ' indent_guides_exclude_filetypes' ) , ft ) > -1
282281 return 1
283282 end
284283 endfor
285284 return 0
286285endfunction
286+
287+ "
288+ " Return variables value
289+ " Choose local buffer variable first if exist or global variable if not
290+ " return -1 if none of local buffer / global variable exists
291+ "
292+ function ! indent_guides#getvar (var )
293+ let varName= a: var
294+ if (exists (" b:" . varName))
295+ exe " let retVal=b:" . varName
296+ elseif (exists (" g:" . varName))
297+ exe " let retVal=g:" . varName
298+ else
299+ exe " let retVal=-1"
300+ endif
301+ return retVal
302+ endfunction
0 commit comments