Marko Mahni wrote:

> On 17. 07. 2010 21:26, Bram Moolenaar wrote:
> >
> > I had a look at the patch.  It doesn't include documentation, thus it's
> > not easy to see how to use it.
> 
> Here is an updated patch with minimal documentation added to
> if_pyth.txt and a minor update in if_python.c.
> 
> Basically the patch exposes a few window attributes and a
> new vim.screen object with two methods.
> 
> The new window attributes are: window.left, window.top and
> window.wcursor. The attribute window.width is now exposed
> uncontitionally (previously it was available only when
> FEAT_VERTSPLIT was defined). With these attributes it is
> possible to get the location of the cursor inside the window
> (the old window.cursor is expressed in the number of
> vim-lines/columns, not screen lines/columns).
> 
> The two methods of the screen object are used to write
> strings directly to the vim screen (screen.puts) and to get
> the raw attribute values of vim syntax elements
> (screen.getHighlightAttr) which can be subsequently used
> with puts. The parameters in puts are modelled after the
> function puts in ncurses (the patch was developed as a part
> of vimscript 2606 which initially only used ncurses).
> 
> All the functionality could also be implemented in VimScript
> so that it could be used by other plugins:
> 
>     - puts: a new function that exposes
>         screen_puts_len()
>       in VimScript (length could be omitted)
> 
>     - getHihghlightAttr: expose a function that calls:
>         int id = syn_name2id(name);
>         int attr = syn_id2attr(id);
>         return attr
> 
>     - a new function: get_win_cursor({nr}), returns a list:
>          (long)(this->win->w_wrow), (long)(this->win->w_wcol)
> 
>     - a new function: get_win_pos({nr}), returns a list:
>          (long)(W_WINROW(this->win)), (long)(W_WINCOL(this->win))
> 
>     - winwidth() and winheight() already exist
> 
> I'm not acquainted with VimScript internals but I think it
> shouldn't be too hard to do this.
> 
> >
> > Also, I have included support for Python 3 now.  Can the same be done
> > for that?
> >
> 
> Currently I'm not using Python 3 but judging from a diff
> between if_python.c and if_python3.c this could be done.
> Most of the patch could just be copied into if_python3.c
> except the screen object structure which should be changed.

Thanks.  I'll add a note in the todo list.  I don't expect to include
this soon, thus keep working on it.

-- 
ARTHUR:  Be quiet!
DENNIS:  Well you can't expect to wield supreme executive power just 'cause
         some watery tart threw a sword at you!
ARTHUR:  Shut up!
DENNIS:  I mean, if I went around sayin' I was an empereror just because some
         moistened bint had lobbed a scimitar at me they'd put me away!
                                  The Quest for the Holy Grail (Monty Python)

 /// Bram Moolenaar -- [email protected] -- 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

Reply via email to