Hari,

That au sounds like a good solution, although it is still mildly
annoying that one can't get a tab variable from a specified tab! :)

Cheers,

Max

> -----Original Message-----
> From: Hari Krishna Dara [mailto:[EMAIL PROTECTED]
> Sent: Friday, August 04, 2006 11:06 PM
> To: Max Dyckhoff
> Cc: A.J.Mechelynck; vim@vim.org
> Subject: RE: Checking if a variable exists in a given tab
> 
> 
> On Thu, 3 Aug 2006 at 10:39am, Max Dyckhoff wrote:
> 
> > If by "making the desired tab current" you mean using :tabn {count}
then
> > it isn't allowed. I imagine changing tabs within the tabline
function
> > would be A Bad Thing, and would cause recursion.
> >
> > I hadn't thought about using a global array of names, although it
would
> > be a pain to maintain when one closes a tab (and I have better
things to
> > program than that right now! :)
> >
> > Anyone else know if you can get a tab local variable somehow?
> >
> > Max
> 
> The reason gettabwinvar() doesn't work is that the function returns
> window variable not tab variable. The difference between getwinvar()
and
> this is that the former refers to the current tab, where as you can
> specify a different tab using the later.
> 
> There is no direct way of accessing this variable, I think this is
> lacking, as I was looking for a way to associate buffers to the tabs
in
> which they are opened (for my selectbuf plugin to have a way to show
> only the buffers edited in the current tab). I was thinking of a
> workaround in which buffers will have a local variable whose value is
> copied from the curret tab. You can probably do something similar
using
> a WinEnter autocommand, something like:
> 
> au * WinEnter :let w:maxd_TabName = t:maxd_TabName
> 
> This allows you to use gettabwinvar() function with "1" for winnr.
> 
> --
> HTH,
> Hari
> 
> >
> >
> > > -----Original Message-----
> > > From: A.J.Mechelynck [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, August 03, 2006 10:32 AM
> > > To: Max Dyckhoff
> > > Cc: vim@vim.org
> > > Subject: Re: Checking if a variable exists in a given tab
> > >
> > > Max Dyckhoff wrote:
> > > > I'm sure this is an easy one, I just can't find the answer
anywhere.
> > > >
> > > > I'm writing my own tabline function (based heavily on the one by
> > Tony
> > > > Mechelynck, thanks!) and I want to be able to name a tab
manually.
> > The
> > > > best way I can think to do this is to have a tab local variable,
> > such as
> > > > t:maxd_TabName. Only problem is that within the script I can
only
> > check
> > > > if that variable exists within the CURRENT tab.
> > > >
> > > > So how can I get a tab local variable from a numbered tab? I've
> > found
> > > > gettabwinvar(), but I just can't make it work ("echo
gettabwinvar(i,
> > 0,
> > > > "maxd_TabName")" doesn't work).
> > > >
> > > > Thanks in advance!
> > > >
> > > > --
> > > > Max Dyckhoff
> > > > AI Engineer
> > > > Bungie Studios
> > > >
> > > >
> > > >
> > > >
> > >
> > > What about making the desired tab (temporarily) current while
checking
> > > if the variable exists? Maybe "manually naming" the current tab is
> > good
> > > enough (the user can change tabs manually too)? Or else, rather
than a
> > > separate variable in each tab, use a global array (a List, if you
> > will),
> > > with as many items as there are tabs?
> > >
> > >
> > > Best regards,
> > > Tony.
> >
> >
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com

Reply via email to