Skip to content

Commit c649204

Browse files
committed
Define a new setting g:rust_fold
g:rust_fold allows folding to be enabled. This lets the user turn on folding without having to define autocommands.
1 parent 6f46621 commit c649204

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

src/etc/vim/doc/rust.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ g:rust_conceal_pub~
5353
let g:rust_conceal_pub = 1
5454
<
5555

56+
*g:rust_fold*
57+
g:rust_fold~
58+
Set this option to turn on |folding|: >
59+
let g:rust_fold = 1
60+
<
61+
Value Effect ~
62+
0 No folding
63+
1 Braced blocks are folded. All folds are open by
64+
default.
65+
2 Braced blocks are folded. 'foldlevel' is left at the
66+
global value (all folds are closed by default).
67+
5668
*g:rust_bang_comment_leader*
5769
g:rust_bang_comment_leader~
5870
Set this option to 1 to preserve the leader on multi-line doc comments

src/etc/vim/syntax/rust.vim

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,25 @@
33
" Maintainer: Patrick Walton <[email protected]>
44
" Maintainer: Ben Blum <[email protected]>
55
" Maintainer: Chris Morgan <[email protected]>
6-
" Last Change: 2014 Feb 27
6+
" Last Change: July 06, 2014
77

88
if version < 600
99
syntax clear
1010
elseif exists("b:current_syntax")
1111
finish
1212
endif
1313

14+
" Fold settings {{{1
15+
16+
if has("folding") && exists('g:rust_fold') && g:rust_fold != 0
17+
setlocal foldmethod=syntax
18+
if g:rust_fold == 2
19+
setlocal foldlevel<
20+
else
21+
setlocal foldlevel=99
22+
endif
23+
endif
24+
1425
" Syntax definitions {{{1
1526
" Basic keywords {{{2
1627
syn keyword rustConditional match if else
@@ -213,8 +224,6 @@ syn keyword rustTodo contained TODO FIXME XXX NB NOTE
213224
" Trivial folding rules to begin with.
214225
" TODO: use the AST to make really good folding
215226
syn region rustFoldBraces start="{" end="}" transparent fold
216-
" If you wish to enable this, setlocal foldmethod=syntax
217-
" It's not enabled by default as it would drive some people mad.
218227

219228
" Default highlighting {{{1
220229
hi def link rustDecNumber rustNumber

0 commit comments

Comments
 (0)