Wednesday, May 9, 2018

Re: how to use v:termrbgresp & friends

> On Di, 01 Mai 2018, Danek Duvall wrote:
>
> > On Tue, May 01, 2018 at 06:43:30PM +0200, Christian Brabandt wrote:
> >
> > > On Mo, 30 Apr 2018, Danek Duvall wrote:
> > >
> > > > I've been trying to use v:termrbgresp to determine what color scheme to
> > > > use, but I can't figure out how to use it successfully.
> > > >
> > > > I tried simply testing against it in my .vimrc, but that doesn't work,
> > > > probably because it hasn't been set yet. Sort of like v:termresponse,
> > > > which requires that you use the TermResponse event.
> > > >
> > > > But when TermResponse fires, v:termrbgresp isn't set yet, either, and I
> > > > can't find an event that seems like it should be the right thing to use.
> > > > By the time I can type in ":echo v:termrbgresp", though, it's set. I just
> > > > need a mechanism to tell me when it's okay to use its value.
> > > >
> > > > Should there be separate events for each of the terminal response codes?
> > > > Maybe one that fires when all the ones that will have responses have them?
> > > > Or a generic event that fires when a variable is set?
> > > >
> > > > Or am I missing something? I looked for examples, but couldn't find any.
> > >
> > > If nothing else, you can always defer to the VimEnter or possibly the
> > > GuiEnter autocommand
> >
> > I'd tried VimEnter, but that didn't work, either. That fires even before
> > TermResponse.
>
> Yeah, it looks like even VimEnter fires earlier. I checked in the
> debugger, v:termrbgresp is only set once the main_loop has been entered.
> I think I remember a patch that moved the logic later in the vim
> initialization phase, so it might be on purpose.
>
> And TermResponse is only fired for when the v:termresponse variable is
> set, not for the v:termrbgresp or v:termrfgresp variables. Not sure, if
> it would make sense to fire TermResponse autocommand also for the other
> v:term variables.
>
> So the only workaround would be to start a timer that checks your the
> values after startup.

There are several terminal responses now, besides bg and fg, there is
the blink and the style. Since the buffer name doesn't matter, it's
probably easier to add one generic autocommand event and set the name to
"fg", "bg", "blink", etc. Then we can add more later.

--
If your life is a hard drive,
Christ can be your backup.

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: