Script:1868
Talk0
1,599pages on
this wiki
this wiki
Use this page to discuss script 1868 1868
- Add constructive comments, bug reports, or discuss improvements (see the guideline).
- Do not document the script here (the author should do that on vim.org).
- This page may be out of date: check the script's vim.org page above, and its release notes.
See simplefold website.
Comments
Perl support fix
By default (with the latest 0.5 version at this writing), it doesn't handle a lot of folding cases for Perl properly, but if you replace the Perl support section of SimpleFold.vim with the lines below, it will handle nearly every case properly.
" Perl support
let g:perl_simplefold_expr =
\ '\v(^\s*(package|use|sub)>\s)'
let g:perl_simplefold_nestable_end_expr =
\ '\v^\s*(\}|\);|\)\};)' .
\ '|\v\(\#\)\@<!\}$' .
\ '|\v\(\#\)\@<!\}\s*#.*$'
let g:perl_simplefold_prefix =
\ '\v^\s*(#.*)?$'
let g:perl_simplefold_nestable_start_expr =
\ '\v^\s*((elsif|if|for|foreach|unless|while)>\s*.*\{$' .
\ '|\v^\s*(elsif|if|for|foreach|unless|while)>\s*.*\{.*\#' .
\ '|else\s*\{' .
\ '|for(each)?>\s*my[^\(]+\s*\(.*\)\s*\{' .
\ '|(my>|our>)?\s*[@%\$].*\($)'
About the only thing that doesn’t work after this change is lines which both close and open a block, e.g.:
if (something) {
stuff
} elsif (somethingelse) { #this doesn’t work
otherstuff
}