Hello,

Try this script:

http://www.vim.org/scripts/script.php?script_id=1623

regards,
Peter



--- Noah Spurrier <[EMAIL PROTECTED]> wrote:

> 
> I have folding set to use expr. I have a foldexpr that
> identifies lines for functions and classes in PHP.
> Lines that are part of a function are folded.
> Function definition lines are NOT folded.
> This gives me a single level of folding that works like
> an index to my code. This works great.
> 
> Is it possible to have an open fold include a few lines BEFORE the
> beginning of the fold? For example, it's common in PHP to have a
> phpdoc comment before the function definition.
> When all folds are closed I see just a list of function names.
> When I open a fold I see the entire body of the function, but
> I don't see the comment before the function.
> 
> I'm sure I could get the fold expression to work so that it starts the
> fold on the comment BEFORE the function definition, but then when I closed
> the fold I would not see the function name.
> 
> Perhaps I could set the fold to start at the comment before the
> function definition and set the 'foldtext' to be the
> text of the line with the function definition. I shall mull that over.
> In the mean time, if anyone has any suggestions or has already done
> this then please let me know.
> 
> So when I have all folds closed I see my code like this:
> 
>     function reverse_zipcode ($zipcode)
>     +-- 10 lines: {----------------------------------------------------
>     function get_inventory ()
>     +-- 28 lines: {----------------------------------------------------
>     function delete_inventory ()
>     +--  5 lines: {----------------------------------------------------
>     function touch_sql ($sql)
>     +-- 21 lines: {----------------------------------------------------
>     function see_sql ($sql,$fetch_mode=DB_FETCHMODE_OBJECT)
>     +-- 20 lines: {-----------------------------------------------------
> 
> If I wanted to view "delete_inventory" I would click on the + to open
> the fold to see something like this (note how the comment BEFORE
> the function is also show):
> 
>     function reverse_zipcode ($zipcode)
>     +-- 10 lines: {----------------------------------------------------
>     function get_inventory ()
>     +-- 28 lines: {----------------------------------------------------
>     /**
>      * This deletes unqualified inventory from t_inventory.
>      * The table "inv_delete" is used to find unqualified inventory
>      * scheduled for deletion.
>      * @see function create_inv_delete
>      */
>     function delete_inventory ()
>     {
>         $sql = "DELETE inventory FROM inventory, inv_delete WHERE
>     inventory.inventory_id=inv_delete.inventory_id;";
>         touch_sql ($sql);
>     }
>     function touch_sql ($sql)
>     +-- 21 lines: {----------------------------------------------------
>     function see_sql ($sql,$fetch_mode=DB_FETCHMODE_OBJECT)
>     +-- 20 lines: {-----------------------------------------------------
> 
> Currently, the best I can do is to show everything below the fold.
> This is nice, but the documentation comment remains hidden, like this:
> 
>     function reverse_zipcode ($zipcode)
>     +-- 10 lines: {----------------------------------------------------
>     function get_inventory ()
>     +-- 28 lines: {----------------------------------------------------
>     function delete_inventory ()
>     {
>         $sql = "DELETE inventory FROM inventory, inv_delete WHERE
>     inventory.inventory_id=inv_delete.inventory_id;";
>         touch_sql ($sql);
>     }
>     function touch_sql ($sql)
>     +-- 21 lines: {----------------------------------------------------
>     function see_sql ($sql,$fetch_mode=DB_FETCHMODE_OBJECT)
>     +-- 20 lines: {-----------------------------------------------------
> 
> Yours,
> Noah
> 
> 
> 


Send instant messages to your online friends http://au.messenger.yahoo.com 

Reply via email to