G'day folks,
I was planning on simplifying the default folding provided when
foldmethod=syntax.
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
comments and __END__ data chunks, with an option to disable comment
folding.
We could, of course, make this 'infinitely' configurable but I see
little point. Is anyone particularly enamoured with having their
multi-line regexes folded? 
Any thoughts appreciated...
Thanks,
Doug
Enamoured? No. But there are things that I really like being folded --
multi-line hash definitions (I wish it extended to multiline array
definitions).
All in all, I'm mostly happy with the state of folding in the folding.
This probably makes me unusual, but I'd much rather keep my cases and
if statements foldable. If it's changed in the "official"
distribution, I will need to pretty much stop upgrading because method
folding is too coarse for me.
-austin
路路路
On 5/10/06, Doug Kearns <dougkearns@gmail.com> wrote:
G'day folks,
I was planning on simplifying the default folding provided when
foldmethod=syntax.
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
comments and __END__ data chunks, with an option to disable comment
folding.
We could, of course, make this 'infinitely' configurable but I see
little point. Is anyone particularly enamoured with having their
multi-line regexes folded? 
--
Austin Ziegler * halostatue@gmail.com
* Alternate: austin@halostatue.ca
occasionaly i get frustrated with folding by syntax that most of the
ide's do, so i use cream for vim which defaults to manual folding.
with easy access keys you can create folds or whatever lines you want.
in my regular vim installation i have folding defaulted to marker but
i find that tends to clutter up otherwise cluttered code 
http://home.cogeco.ca/~tsummerfelt1
telnet://ventedspleen.dyndns.org
路路路
On Wed, 10 May 2006 20:07:38 +0900, you wrote:
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
Any thoughts appreciated...
I agree with you Doug, folding module, class & method make it easy to see the structure of your code still. Anyway, it would be nice if there could just be a switch so everyone can have their flavor. In the meantime, check out Mauricio Fernandez blog. He's got a couple really helpful bits for vim & ruby. This is the folding you want:
http://eigenclass.org/hiki.rb?Usable+Ruby+folding+for+Vim
-Jeff
Doug Kearns wrote:
路路路
G'day folks,
I was planning on simplifying the default folding provided when
foldmethod=syntax.
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
comments and __END__ data chunks, with an option to disable comment
folding.
We could, of course, make this 'infinitely' configurable but I see
little point. Is anyone particularly enamoured with having their
multi-line regexes folded? 
Any thoughts appreciated...
Thanks,
Doug
I've written a plugin that achieves something similar; it's a much improved
version of the vimscript I'd had in my .vimrc for a long time.
It is available at http://eigenclass.org/hiki.rb?simplefold+plugin+0.4.0
There are also a few animations comparing it to fdm=syntax and fdm=marker.
Some features:
* folds on module/class/method/{constant,attribute} definitions ("top-level folds")
These folds are *not* nested, so methods inside a class are always
visible, even when all folds are closed. This way zM gets you a high-level
view of all of the file without having to open some module/class folds.
* I've added folding on if/while/until/blocks/etc ("nestable folds") (can be
turned of, but it's not a problem since we have zO)
* top-level folds are enlarged to include preceding comments (good for
RDoc'ed code)
* the use of a specialized foldtext achieves over 60% savings in vertical
space over fdm=marker at the class level.
* it is possible to specify additional "top-level" folds with #{{{ / #}}} and
additional "nestable" folds with {{{{ / }}}}.
路路路
On Wed, May 10, 2006 at 08:07:38PM +0900, Doug Kearns wrote:
G'day folks,
I was planning on simplifying the default folding provided when
foldmethod=syntax.
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
comments and __END__ data chunks, with an option to disable comment
folding.
We could, of course, make this 'infinitely' configurable but I see
little point. Is anyone particularly enamoured with having their
multi-line regexes folded? 
--
Mauricio Fernandez - http://eigenclass.org - singular Ruby
sender: "Austin Ziegler" date: "Wed, May 10, 2006 at 08:27:32PM +0900" <<<EOQ
>G'day folks,
>
>I was planning on simplifying the default folding provided when
>foldmethod=syntax.
>
>Currently pretty much everything is folded but I was planning on
>reducing this to just module/class/method definitions, multi-line
>comments and __END__ data chunks, with an option to disable comment
>folding.
>
>We could, of course, make this 'infinitely' configurable but I see
>little point. Is anyone particularly enamoured with having their
>multi-line regexes folded? 
Enamoured? No. But there are things that I really like being folded --
multi-line hash definitions (I wish it extended to multiline array
definitions).
All in all, I'm mostly happy with the state of folding in the folding.
This probably makes me unusual, but I'd much rather keep my cases and
if statements foldable. If it's changed in the "official"
distribution, I will need to pretty much stop upgrading because method
folding is too coarse for me.
Me too, I like the way folding works right now, folding pretty much
everything. That way I only unfold the part of code that I'm currently
interested in. Though sometimes I do make use of zR to get the bigger
picture... 
I guess, if you make it configurable, it would be ok, so that we can
switch ON the 'full folding' mode if we wanted to...
All the best,
Alex
路路路
On 5/10/06, Doug Kearns <dougkearns@gmail.com> wrote:
i simply bit the bullet and always use marker - it's very convenient if one
works with many many files since the folds endure when you close the file.
i'd also add folding of here-docs since, by definition, those are huge
multi-line blocks of string content that should nearly always be folded.
s =
#--{{{
<<-s
this
should
be
folded
s
#--}}}
regards.
-a
路路路
On Wed, 10 May 2006, tony summerfelt wrote:
On Wed, 10 May 2006 20:07:38 +0900, you wrote:
Currently pretty much everything is folded but I was planning on
reducing this to just module/class/method definitions, multi-line
Any thoughts appreciated...
occasionaly i get frustrated with folding by syntax that most of the
ide's do, so i use cream for vim which defaults to manual folding.
with easy access keys you can create folds or whatever lines you want.
in my regular vim installation i have folding defaulted to marker but
i find that tends to clutter up otherwise cluttered code 
--
be kind whenever possible... it is always possible.
- h.h. the 14th dali lama
you need to use
#--{{{ / #--}}}
#--{{{{ / #--}}}}
or else the #{{{ totally horks rdoc. fyi.
-a
路路路
On Fri, 12 May 2006, Mauricio Fernandez wrote:
* it is possible to specify additional "top-level" folds with #{{{ / #}}} and
additional "nestable" folds with {{{{ / }}}}.
--
be kind whenever possible... it is always possible.
- h.h. the 14th dali lama
<snip>
Enamoured? No. But there are things that I really like being folded --
multi-line hash definitions (I wish it extended to multiline array
definitions).
I'll include something in the next release but in the meantime you can
just add
syn region rubyArrayLiteral start="\%(^\|\s\)\[" end="]" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo fold
to ~/.vim/after/syntax/ruby.vim. It should work for the common cases...
All in all, I'm mostly happy with the state of folding in the folding.
Good. I was under the impression that almost everyone found the folding
excessive.
This probably makes me unusual, but I'd much rather keep my cases and
if statements foldable. If it's changed in the "official"
distribution, I will need to pretty much stop upgrading because method
folding is too coarse for me.
I'll make any changes configurable.
Thanks,
Doug
路路路
On Wed, May 10, 2006 at 08:27:32PM +0900, Austin Ziegler wrote:
<snip>
I've written a plugin that achieves something similar; it's a much improved
version of the vimscript I'd had in my .vimrc for a long time.
It is available at http://eigenclass.org/hiki.rb?simplefold+plugin+0.4.0
There are also a few animations comparing it to fdm=syntax and fdm=marker.
This looks interesting; I'll add a note to the vim-ruby docs.
<snip>
Regards,
Doug
路路路
On Fri, May 12, 2006 at 01:35:03AM +0900, Mauricio Fernandez wrote:
The standard folding for Ruby works with here-docs.
-austin
路路路
On 5/10/06, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:
i simply bit the bullet and always use marker - it's very convenient if one
works with many many files since the folds endure when you close the file.
i'd also add folding of here-docs since, by definition, those are huge
multi-line blocks of string content that should nearly always be folded.
--
Austin Ziegler * halostatue@gmail.com
* Alternate: austin@halostatue.ca
I'm matching against /\{\{\{\{/ and /^\s*[#%"0-9]{0,4}\s*\{\{\{[^{]/, so
#--{{{{ would work fine. === ===
^
don't remember why
Would
# {{{
(with extra spaces) also break rdoc? And ##{{{? While we're at it, #%{{{
should be safe.
#--{{{ is out because... well, I didn't want it to conflict with your
markers 
路路路
On Fri, May 12, 2006 at 02:08:09AM +0900, ara.t.howard@noaa.gov wrote:
On Fri, 12 May 2006, Mauricio Fernandez wrote:
>* it is possible to specify additional "top-level" folds with #{{{ / #}}}
> and additional "nestable" folds with {{{{ / }}}}.
you need to use
#--{{{ / #--}}}
#--{{{{ / #--}}}}
or else the #{{{ totally horks rdoc. fyi.
--
Mauricio Fernandez - http://eigenclass.org - singular Ruby
oh i know - just saying that here-docs should be included in a 'minimal'
folding config too imho.
cheers.
-a
路路路
On Thu, 11 May 2006, Austin Ziegler wrote:
On 5/10/06, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:
i simply bit the bullet and always use marker - it's very convenient if one
works with many many files since the folds endure when you close the file.
i'd also add folding of here-docs since, by definition, those are huge
multi-line blocks of string content that should nearly always be folded.
The standard folding for Ruby works with here-docs.
--
be kind whenever possible... it is always possible.
- h.h. the 14th dali lama
boy. reading this post in vim is tough! there are a lot of folds! 
dunno about the spaces - i think i arrived at #-- because that's some sort of
flag for rdoc to ignore comments, so any such char should work.
cheers.
-a
路路路
On Fri, 12 May 2006, Mauricio Fernandez wrote:
On Fri, May 12, 2006 at 02:08:09AM +0900, ara.t.howard@noaa.gov wrote:
On Fri, 12 May 2006, Mauricio Fernandez wrote:
* it is possible to specify additional "top-level" folds with #{{{ / #}}}
and additional "nestable" folds with {{{{ / }}}}.
you need to use
#--{{{ / #--}}}
#--{{{{ / #--}}}}
or else the #{{{ totally horks rdoc. fyi.
I'm matching against /\{\{\{\{/ and /^\s*[#%"0-9]{0,4}\s*\{\{\{[^{]/, so
#--{{{{ would work fine. === ===
^
don't remember why
Would
# {{{
(with extra spaces) also break rdoc? And ##{{{? While we're at it, #%{{{
should be safe.
#--{{{ is out because... well, I didn't want it to conflict with your
markers 
--
Mauricio Fernandez - http://eigenclass.org - singular Ruby
--
be kind whenever possible... it is always possible.
- h.h. the 14th dali lama
Alright, I thought you meant that {{{ drove rdoc mad, when it's just that
they look bad in the docs
(at least that's what it looks like after a
quick test).
rdoc/parsers/parse_rb.rb:
...
def remove_private_comments(comment)
comment.gsub!(/^#--.*?^#\+\+/m, '')
comment.sub!(/^#--.*/m, '')
end
...
So it seems things aren't that bad:
* nestable folds will do fine, since we can use e.g. #-- {{{{, also avoiding
conflicts with your markers
* no problem either with "top-level" folds: anyway, there's no point in adding
one just before a rdoc'able element (class, method...), since a fold would
be created there automatically anyway.
Thanks for pointing this out, I'll add a few words about rdoc in the docs.
路路路
On Fri, May 12, 2006 at 02:37:31AM +0900, ara.t.howard@noaa.gov wrote:
On Fri, 12 May 2006, Mauricio Fernandez wrote:
>>you need to use
>>
>> #--{{{ / #--}}}
>>
>> #--{{{{ / #--}}}}
>>
>>or else the #{{{ totally horks rdoc. fyi.
dunno about the spaces - i think i arrived at #-- because that's some sort
of flag for rdoc to ignore comments, so any such char should work.
--
Mauricio Fernandez - http://eigenclass.org - singular Ruby