@@ -19,19 +19,18 @@ endfunction
19
19
" other buffers and windows.
20
20
"
21
21
function ! indent_guides#process_autocmds ()
22
- if g: indent_guides_autocmds_enabled
22
+ if indent_guides#getvar ( ' indent_guides_autocmds_enabled' )
23
23
call indent_guides#enable ()
24
24
else
25
25
call indent_guides#disable ()
26
26
end
27
27
endfunction
28
28
29
29
"
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
32
31
"
33
32
function ! indent_guides#enable ()
34
- let g : indent_guides_autocmds_enabled = 1
33
+ let b : indent_guides_autocmds_enabled = 1
35
34
36
35
if &diff || indent_guides#exclude_filetype ()
37
36
call indent_guides#clear_matches ()
@@ -49,11 +48,11 @@ function! indent_guides#enable()
49
48
let l: column_start = (l: level - 1 ) * s: indent_size + 1
50
49
51
50
" 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 )
54
53
call add (w: indent_guides_matches , matchadd (l: group , l: soft_pattern ))
55
54
end
56
- if g: indent_guides_tab_guides
55
+ if indent_guides#getvar ( ' indent_guides_tab_guides' )
57
56
let l: hard_pattern = indent_guides#indent_highlight_pattern (' \t' , l: column_start , s: indent_size )
58
57
call add (w: indent_guides_matches , matchadd (l: group , l: hard_pattern ))
59
58
end
@@ -65,7 +64,7 @@ endfunction
65
64
" entering it.
66
65
"
67
66
function ! indent_guides#disable ()
68
- let g : indent_guides_autocmds_enabled = 0
67
+ let b : indent_guides_autocmds_enabled = 0
69
68
call indent_guides#clear_matches ()
70
69
endfunction
71
70
@@ -194,19 +193,19 @@ function! indent_guides#init_script_vars()
194
193
let s: hi_normal = substitute (s: hi_normal , ' font=[A-Za-z0-9:]\+' , " " , " " )
195
194
196
195
" 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' )
204
203
205
204
" str2float not available in vim versions <= 7.1
206
205
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' )
208
207
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
210
209
endif
211
210
212
211
if s: debug
@@ -230,7 +229,7 @@ endfunction
230
229
" NOTE: Currently, this only works when soft-tabs are being used.
231
230
"
232
231
function ! 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' )
234
233
235
234
if l: guide_size == 0 || l: guide_size > s: indent_size
236
235
let l: guide_size = s: indent_size
@@ -278,9 +277,26 @@ endfunction
278
277
"
279
278
function ! indent_guides#exclude_filetype ()
280
279
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
282
281
return 1
283
282
end
284
283
endfor
285
284
return 0
286
285
endfunction
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