Monday, March 7, 2016

Re: Packages

Ben Fritz wrote:

> > > For Pathogen, you install by unzipping all files for a plugin, into a
> > > directory under "bundle":
> > >
> > > ~/.vim/bundle/someplugin/plugin/foo.vim
> > > ~/.vim/bundle/someplugin/autoload/bar.vim
> > > ~/.vim/bundle/someplugin/syntax/beez.vim
> > >
> > > With packages, the default 'packpath' is the same as runtimepath. The
> > > example code creates a ~/.vim/pack/my/always directory. Is "always"
> > > synonymous with "someplugin" above? I.e. is "always" what you'd get
> > > from cloning an existing plugin not designed specifically for a
> > > packages setup?
> >
> > "always" is just a name. You got the directory name wrong. I renamed
> > to avoid confusion. So now for one plugin:
> >
> > If you don't have a package but a single plugin, you need to create the
> extra
> > directory level:
> > % mkdir -p ~/.vim/pack/my/ever/something
> > % cd ~/.vim/pack/my/ever/something
> > % unzip /tmp/myplugin.zip
> >
> > You would now have these files:
> > pack/my/ever/something/plugin/foo.vim
> > pack/my/ever/something/syntax/some.vim
> >
>
> I don't see this reflected in the help yet. I think the name "always" is
> fine if it is explained.

I have pushed updated help files.

> I attached a patch that does this explaining and clears up a few other
> points of confusion I had.
>
> Also it changes ":loadplugin" to ":packadd" because ":loadplugin" doesn't
> seem to exist anymore.
>
> See attached.

Thanks. I had already changed most of this text.

I generally try to keep the text short. Many users skip over longer
sentences. People are always in a hurry...

> > > What's "my" for? Is that the way to package multiple plugins together?
> > > Is it necessary or can "someplugin" go directly under "pack"? The help
> > > just mentions looking for an "ever" directory, it doesn't talk about
> > > any intervening directories.
> >
> > "my" is the name of the package that you choose. As the help says:
> >
> > The directory name "my" is arbitrary, you can pick anything you like.
>
> Thanks, that was another point of confusion I had. I didn't even realize
> "my" was the package name.

It would be good to have a more realistic example, so that the names are
obvious. I'll use "foo" now, that probably works better than "my".

> > > You talked about dependencies...with this method, won't you
> > > potentially have multiple copies of every dependency, if every plugin
> > > that has a dependency defines a package instead to bundle the plugin
> > > with all its dependencies?
> >
> > I would expect people who create several plugins that depend on a common
> > library to have one package with all these plugins.
>
> Ah, so this would be where true plugin managers come in. A plugin manager
> could be expected to track the dependencies between multiple plugins and
> create a package for all related plugins in a group.

This won't replace a plugin manager, but in many cases it would be
sufficient.

> > > From the help for 'packpath' I expected every directory under ~/.vim
> > > and ~/.vim/after to be searched recursively for an "ever" directory. I
> > > don't see anything special about the "pack" directory in the help, but
> > > just putting a new "ever" directory under my existing "bundles" and
> > > moving anything inside doesn't seem to do anything. Is it because I
> > > need a "my" directory of some kind? Or is "pack" actually special? How
> > > does 'packpath' relate to this?
> >
> > All packages go under "pack".
>
> OK, "pack" was never mentioned explicitly, only in examples, so I described
> it as I currently understand it.
>
> Please correct me if I'm wrong.

--
A)bort, R)etry, B)ang it with a large hammer

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