@@ -19,19 +19,18 @@ endfunction
19
19
" other buffers and windows.
20
20
"
21
21
function ! indent_guides#process_autocmds () abort
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 () abort
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() abort
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 () abort
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
@@ -201,19 +200,19 @@ function! indent_guides#init_script_vars() abort
201
200
let s: hi_normal = substitute (s: hi_normal , ' font=[A-Za-z0-9:]\+' , ' ' , ' ' )
202
201
203
202
" shortcuts to the global variables - this makes the code easier to read
204
- let s: debug = g: indent_guides_debug
205
- let s: indent_levels = g: indent_guides_indent_levels
206
- let s: auto_colors = g: indent_guides_auto_colors
207
- let s: color_hex_pat = g: indent_guides_color_hex_pattern
208
- let s: color_hex_bg_pat = g: indent_guides_color_hex_guibg_pattern
209
- let s: color_name_bg_pat = g: indent_guides_color_name_guibg_pattern
210
- let s: start_level = g: indent_guides_start_level
203
+ let s: debug = indent_guides#getvar ( ' indent_guides_debug' )
204
+ let s: indent_levels = indent_guides#getvar ( ' indent_guides_indent_levels' )
205
+ let s: auto_colors = indent_guides#getvar ( ' indent_guides_auto_colors' )
206
+ let s: color_hex_pat = indent_guides#getvar ( ' indent_guides_color_hex_pattern' )
207
+ let s: color_hex_bg_pat = indent_guides#getvar ( ' indent_guides_color_hex_guibg_pattern' )
208
+ let s: color_name_bg_pat = indent_guides#getvar ( ' indent_guides_color_name_guibg_pattern' )
209
+ let s: start_level = indent_guides#getvar ( ' indent_guides_start_level' )
211
210
212
211
" str2float not available in vim versions <= 7.1
213
212
if has (' float' )
214
- let s: change_percent = g: indent_guides_color_change_percent / str2float (' 100.0' )
213
+ let s: change_percent = indent_guides#getvar ( ' indent_guides_color_change_percent' ) / str2float (' 100.0' )
215
214
else
216
- let s: change_percent = g: indent_guides_color_change_percent / 100.0
215
+ let s: change_percent = indent_guides#getvar ( ' indent_guides_color_change_percent' ) / 100.0
217
216
endif
218
217
219
218
if s: debug
@@ -237,7 +236,7 @@ endfunction
237
236
" NOTE: Currently, this only works when soft-tabs are being used.
238
237
"
239
238
function ! indent_guides#calculate_guide_size () abort
240
- let l: guide_size = g: indent_guides_guide_size
239
+ let l: guide_size = indent_guides#getvar ( ' indent_guides_guide_size' )
241
240
242
241
if l: guide_size == 0 || l: guide_size > s: indent_size
243
242
let l: guide_size = s: indent_size
@@ -281,15 +280,30 @@ endfunction
281
280
" Detect if any of the buffer filetypes should be excluded.
282
281
"
283
282
function ! indent_guides#exclude_filetype () abort
284
- if exists (' g:indent_guides_exclude_buftype' )
285
- if g: indent_guides_exclude_buftype && &buftype !=# ' '
286
- return 1
287
- endif
283
+ if indent_guides#getvar (' indent_guides_exclude_buftype' ) && &buftype !=# ' '
284
+ return 1
288
285
endif
289
286
for ft in split (&ft , ' \.' , 1 )
290
- if index (g: indent_guides_exclude_filetypes , ft ) > -1
287
+ if index (indent_guides#getvar ( ' indent_guides_exclude_filetypes' ) , ft ) > -1
291
288
return 1
292
289
end
293
290
endfor
294
291
return 0
295
292
endfunction
293
+
294
+ "
295
+ " Return variables value
296
+ " Choose local buffer variable first if exist or global variable if not
297
+ " return -1 if none of local buffer / global variable exists
298
+ "
299
+ function ! indent_guides#getvar (var )
300
+ let varName= a: var
301
+ if (exists (" b:" . varName))
302
+ exe " let retVal=b:" . varName
303
+ elseif (exists (" g:" . varName))
304
+ exe " let retVal=g:" . varName
305
+ else
306
+ exe " let retVal=-1"
307
+ endif
308
+ return retVal
309
+ endfunction
0 commit comments