|
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