> > sometimes I am using fold expressions to simply hide away unwanted
> > parts. Usually this boils down to
> > :set fdm=expr fde=getline(v:lnum)!~getreg('/',1)
> > 
> > While this works fine, it is only limited to whatever was in register @/
> > when this setting was entered. Now this leaves an interesting question:
> > When are 'foldexpr' reevaluated (are they at all)? Reading :h fold.txt
> > does not mentioned when the fold expressions are reevaluated and folds
> > are updated (or I might have missed it).
> > 
> > Now the obvious cure to this is to reenter the foldexpression. So if I
> > am searching for a different term, I need to enter
> > :set fde=getline(v:lnum)!~getreg('/',1)
> > and the folds will be updated.
> > 
> > Of course, I could define my own :Foldupdate like this:
> > :com! Foldupdate :exe "set fde=".&fde
> > 
> > But this looks so fundamental, that I am wondering, whether I am the
> > only one who is missing :foldupdate. Does anybody else think so? Or am I
> > missing something obvious?
> > 
> > PS: Looking at the source, it does not seem too hard, to define an extra
> > :foldupdate command. Does that sound like a reasonable idea? I could
> > prepare a patch for this, if there is interest.
> > 
> > regards,
> > Christian
> > 
> > (Actually, I'd really like an RegisterChanged autocommand event, which
> > could trigger an :foldupdate)
> 
> Ok, here is a patch, that implements :foldupdate as ex command and zU as 
> normal mode command.
> 
> Here is the testcase:
> go to the vim-Src directory and execute the attached vim-script:
> 
> chrisbra t41:~/vim/src [1296]% ./vim -u NONE -N -S foldupdate.vim eval.c
> 
> Note, how the folding will be wrong, after the second search command 
> (and I have found no way to refresh the folding. zx and zX do not work, 
> though its description led me believe it could have. Well actually I 
> found one way: filtering the whole buffer through cat will also update 
> the folding)
> 
> When recompiling vim with the patch, the folding will be updated, when 
> :foldupdate is called.
Thanks! Feedback welcome.
One remark: in the help, add a bit more information about when this would
be needed, why the folds are not updated automatically.
-- 
BEDEVERE: Stand by for attack!!
   [CUT TO enormous army forming up.  Trebuchets, rows of PIKEMEN, siege
   towers, pennants flying, shouts of "Stand by for attack!"  Traditional
   army build-up shots.  The shouts echo across the ranks of the army.
   We see various groups reacting, and stirring themselves in readiness.]
ARTHUR:   Who are they?
BEDEVERE: Oh, just some friends!
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
To unsubscribe, reply using "remove me" as the subject.
No comments:
Post a Comment