|
2 | 2 |
|
3 | 3 | " SignifyFoldExpr {{{1
|
4 | 4 | function! SignifyFoldExpr(lnum)
|
5 |
| - return s:levels[a:lnum] |
| 5 | + return b:levels[a:lnum] |
6 | 6 | endfunction
|
7 | 7 |
|
8 | 8 | " SignifyFoldText {{{1
|
@@ -48,8 +48,8 @@ function! sy#fold#enable(do_tab) abort
|
48 | 48 | tabedit %
|
49 | 49 | endif
|
50 | 50 |
|
51 |
| - let [s:context0, s:context1] = get(g:, 'signify_fold_context', [3, 8]) |
52 |
| - let s:levels = s:get_levels(s:get_lines()) |
| 51 | + let [context0, context1] = get(g:, 'signify_fold_context', [3, 8]) |
| 52 | + let b:levels = s:get_levels(s:get_lines(), context0, context1) |
53 | 53 |
|
54 | 54 | setlocal foldexpr=SignifyFoldExpr(v:lnum)
|
55 | 55 | setlocal foldtext=SignifyFoldText()
|
@@ -92,22 +92,22 @@ function! s:get_lines() abort
|
92 | 92 | endfunction
|
93 | 93 |
|
94 | 94 | " s:get_levels {{{1
|
95 |
| -function! s:get_levels(lines) abort |
| 95 | +function! s:get_levels(lines, context0, context1) abort |
96 | 96 | let levels = {}
|
97 | 97 |
|
98 | 98 | for line in range(1, line('$'))
|
99 | 99 | let levels[line] = 2
|
100 | 100 | endfor
|
101 | 101 |
|
102 | 102 | for line in a:lines
|
103 |
| - for l in range(line - s:context1, line + s:context1) |
| 103 | + for l in range(line - context1, line + context1) |
104 | 104 | if (l < 1) || (l > line('$'))
|
105 | 105 | continue
|
106 | 106 | endif
|
107 | 107 | if levels[l] == 2
|
108 | 108 | let levels[l] = 1
|
109 | 109 | endif
|
110 |
| - for ll in range(line - s:context0, line + s:context0) |
| 110 | + for ll in range(line - context0, line + context0) |
111 | 111 | let levels[ll] = 0
|
112 | 112 | endfor
|
113 | 113 | endfor
|
|
0 commit comments