Saturday, March 26, 2016

Re: Packages: best practices?

On 2016-03-26, Andy Wokula wrote:
> Am 26.03.2016 um 19:31 schrieb Nicola:
> >On 2016-03-26 17:56:34 +0000, Bram Moolenaar said:
>
> >>I suppose there is no easy way to know if VimEnter already fired.
>
> >>Perhaps we need a flag that indicatest this, so you can do:
> >>
> >> if v:vim_did_enter
> >> call s:init()
> >> else
> >> au VimEnter * call s:init()
> >> endif
> >>
> >>Something like that?
> >
> >For YCM, that would work. I don't know what else a plugin can do at startup that
> >would not do if loaded at a later time (other types of autocmds?).
> >
> >Nicola
>
> if has("vim_starting")
> " init on VimEnter
> else
> " init immediately
> endif

That's a very odd application of has().

The has() function is clearly intended to indicate presence or
absence of some feature that is compiled in, or in the case of
"gui_running", available only under certain unchanging conditions.
I would never think to look among features for a flag indicating the
startup state. Even Bram did not find it.

It's probably too late to change it, but I think it would make more
sense to expose that state as a variable such as v:vim_starting or
v:vim_did_enter or as a function such as vim_starting().

Regards,
Gary

--
--
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: