in reply to Re^2: Any smart Perl editors?
in thread Any smart Perl editors?

Very nice! Here is a slightly changed version adapted to my own coding style (using '};' instead of '}' and pod documentation before each sub):
function GetPerlFold() if getline(v:lnum) =~ '^\s*sub\s' return ">1" elseif getline(v:lnum) =~ '\};*\s*$' let my_perlnum = v:lnum let my_perlmax = line("$") while (1) let my_perlnum = my_perlnum + 1 if my_perlnum > my_perlmax return "<1" endif let my_perldata = getline(my_perlnum) if my_perldata =~ '^\s*\(\#.*\)\?$' " do nothing elseif my_perldata =~ '^\s*sub\s' return "<1" elseif my_perldata =~ '^\s*=head.\s*' return "<1" else return "=" endif endwhile else return "=" endif endfunction setlocal foldexpr=GetPerlFold() setlocal foldmethod=expr
This will let the pod lines between subs out of the folds. The original version will fold the pod lines with the previous sub.

Replies are listed 'Best First'.
Re^4: Any smart Perl editors?
by stevieb (Canon) on Jun 10, 2019 at 17:01 UTC

    Very nice!

    I've always put my POD at the bottom of the file (after a 1; and an __END__), so I just create a dummy sub as my last one, and the all the POD is folded as you said.

    For me, that makes it easy to go directly to the bottom of my code, instead of automatically going to the bottom of the POD.