From: nils@promisedlandt.de
To: Efraim Flashner <efraim@flashner.co.il>
Cc: "help-guix@gnu.org" <help-guix@gnu.org>
Subject: Re: Generating helptags for vim plugins
Date: Tue, 21 Feb 2023 11:32:07 +0100 (CET) [thread overview]
Message-ID: <291541103.381025.1676975528001@office.mailbox.org> (raw)
In-Reply-To: <Y/KBMu39CN49vtvb@3900XT>
> Efraim Flashner <efraim@flashner.co.il> hat am 19.02.2023 21:06 CET geschrieben:
>
>
> On Sun, Feb 19, 2023 at 11:09:57AM +0100, nils@promisedlandt.de wrote:
> > Solutions I could think of:
> >
> > 1) Run the helptags generation after *all* plugins are installed
> > 2) Do not install all plugins to ~/.guix-home/profile/share/vim/vimfiles but rather keep them in one subfolder per plugin (which is how the built-in vim package management works, and most or all vim plugin managers).
> >
> > How could 1) be implemented? I could do 2) rather easily I think, but it would contributing the plugin packages difficult, since it needs changes in the gnu/packages/aux-files/guix.vim to add those directories to the vim runtime path.
> >
> > Has anyone already spent some time on this? It looks to me like an issue that everyone would run into if they use the already packaged plugins in gnu/packages/vim.
>
> There are two possibilities that I can see at this point:
> 1: There's a patch to install all the vim plugins into their own prefix
> and use vim's :packadd to actually load the packages when they're
> wanted. I feel like this is probably the technically correct way to do
> it.
>
> 2: Add a profile hook to build all the help tags as part of building the
> profile, similar to the emacs sub-directories or the font cache or the
> mime database or other things. This would introduce the least amount of
> change to users since they wouldn't need to start doing :packadd and the
> help files would just show up.
>
> As someone who actively wants the help files, I'm curious which you'd
> prefer.
I also think that having each plugin in its own folder is the most robust solution. Both vim and neovim have package loading that works with no or minimal configuration for quite a few years now, and to me it makes sense if guix adds the plugins in the structure the built-in loaders expect.
However, I would not expect the user to have to :packadd each plugin separately. Having plugins autoload is the behaviour with the current guix packages, and I think that's the most common use case anyway.
For that, I think all that needs to be done is to install the plugins at ~/.guix-home/profile/share/vim/plugins/pack/guix/start/<plugin_name>
and then having set packpath=~/.guix-home/profile/share/vim/plugins in the system vimrc.
For neovim plugins, the path would be ~/.guix-home/profile/share/nvim/site/pack/guix/start/<plugin_name>.
The "luxury" solution would be to specify for each plugin whether it's a vim or neovim plugin, and whether it should be autoloaded or not, but the above solution mimics the current behaviour of the guix vim plugin packages.
I was unable to locate the code for the profile hooks you mentioned. Where can I find them?
next prev parent reply other threads:[~2023-02-21 10:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-19 10:09 Generating helptags for vim plugins nils
2023-02-19 20:06 ` Efraim Flashner
2023-02-21 10:32 ` nils [this message]
2023-02-22 20:28 ` SeerLite
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=291541103.381025.1676975528001@office.mailbox.org \
--to=nils@promisedlandt.de \
--cc=efraim@flashner.co.il \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).