On Fri, Jun 02, 2017 at 01:14:31PM +1200, Kent Fredric wrote
> On Thu, 1 Jun 2017 09:38:01 -0400
> "Walter Dnes" <waltd...@waltdnes.org> wrote:
> 
> >   As mentioned elsewhere, what happens when two or three other
> > people do their own forks?  Plugin 1 works with vim A and B but
> > not C or D.  Plugin 2 works with vim A and C and D but not B.  The
> > number of directories could potentially be 2^N where N is the number
> > of forks.  And who's going to do the necessary testing across
> > multiple versions?  And remember that each minor version bump of any
> > of the forks could render another fork's plugin incompatable.  This
> > is a classic "moving target".  The only way that works is to have
> > each fork look after their own copies of plugins.
> 
> If and when that happens:

  It already has happened.  Compare /usr/portage/app-editors against
http://texteditors.org/cgi-bin/wiki.pl?ViFamily  Portage has...

* elvis
* levee
* nvi
* vi
* vim
* vis

...not to mention neovim, which doesn't show up on texteditors.org.

> "4" could alternatively be implemented by creating a meta-file that
> enumerates a list of source files to symlink, and the list of vim
> implementations that are known to be supported by it, and then a
> tool can fix up the difference in pkg_postinst or on-demand.

  This would require a multi-dimensional array of approx 7 packages
(today) versus however many ebuilds are currently in Portage for each
editor.  Do I see any volunteers for compatibility testing for all
current and future VI-family editors and plugins on all current and
future ebuilds on all arches (small and large endian) and various USE
flags?  And what happens when 2 or more editors make different plugins
with the same file names?  This is not a "software ecosystem", and the
various upstreams are not obligated to co-operate with each other.
Indeed, the reason for a fork may be bad blood between developers in the
first place.

  A lot of complexity to save a few kbytes on a multi-terabyte hard
drive (even a 128 gig SSD) does not make sense.  And it may actually
use more space in the long run.  If I have only vim, do I really want
everybody else's plugins installed?  No.  But if I do switch over to
another VI-family editor, or install one simultaneously, how does a
separate "plugins package" know which plugins to install?  And if I
uninstall one editor, how does the "plugins package" know which plugins
to uninstall?

-- 
Walter Dnes <waltd...@waltdnes.org>
I don't run "desktop environments"; I run useful applications

Reply via email to