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