diff --git a/src/etc/vim/ftplugin/rust.vim b/src/etc/vim/ftplugin/rust.vim index 8a538177403d3..09eaf62daf90e 100644 --- a/src/etc/vim/ftplugin/rust.vim +++ b/src/etc/vim/ftplugin/rust.vim @@ -56,6 +56,16 @@ if exists("g:loaded_delimitMate") let b:delimitMate_excluded_regions = delimitMate#Get("excluded_regions") . ',rustLifetimeCandidate,rustGenericLifetimeCandidate' endif +if has("folding") && exists('g:rust_fold') && g:rust_fold != 0 + let b:rust_set_foldmethod=1 + setlocal foldmethod=syntax + if g:rust_fold == 2 + setlocal foldlevel< + else + setlocal foldlevel=99 + endif +endif + if has('conceal') && exists('g:rust_conceal') let b:rust_set_conceallevel=1 setlocal conceallevel=2 @@ -108,6 +118,10 @@ let b:undo_ftplugin = " \|else \|unlet! b:delimitMate_excluded_regions \|endif + \|if exists('b:rust_set_foldmethod') + \|setlocal foldmethod< foldlevel< + \|unlet b:rust_set_foldmethod + \|endif \|if exists('b:rust_set_conceallevel') \|setlocal conceallevel< \|unlet b:rust_set_conceallevel diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim index d8330b84f3119..544c938dd730f 100644 --- a/src/etc/vim/syntax/rust.vim +++ b/src/etc/vim/syntax/rust.vim @@ -11,17 +11,6 @@ elseif exists("b:current_syntax") finish endif -" Fold settings {{{1 - -if has("folding") && exists('g:rust_fold') && g:rust_fold != 0 - setlocal foldmethod=syntax - if g:rust_fold == 2 - setlocal foldlevel< - else - setlocal foldlevel=99 - endif -endif - " Syntax definitions {{{1 " Basic keywords {{{2 syn keyword rustConditional match if else