From: Efraim Flashner <efraim@flashner.co.il>
To: nils@promisedlandt.de
Cc: "help-guix@gnu.org" <help-guix@gnu.org>
Subject: Re: Generating helptags for vim plugins
Date: Sun, 19 Feb 2023 22:06:10 +0200 [thread overview]
Message-ID: <Y/KBMu39CN49vtvb@3900XT> (raw)
In-Reply-To: <1973776289.362054.1676801397268@office.mailbox.org>
[-- Attachment #1: Type: text/plain, Size: 2866 bytes --]
On Sun, Feb 19, 2023 at 11:09:57AM +0100, nils@promisedlandt.de wrote:
> Hello everyone,
>
> I'm trying to switch my home environment to guix home (from Chef).
> As a first step, I'm writing package definitions for the various vim plugins I use.
> I followed the simple plugins in gnu/packages/vim, using git-fetch + copy-build-system. This worked fine, but I noticed that there is no code to generate the helptags, meaning the plugin documentations don't show up in vim when using :help. Having the documentations available is important to me!
>
> My solution was to write a vimplugin-build-system. It uses copy-build-system for most things, but generates the helptags for the plugin as an additional step after installation. Technically that works, in that the helptags for the plugin are generated and available in vim. Sadly the concept was wrong, because the helptags file is always named "tags" and needs to be in the same directory as the help file. This means installing multiple plugins has the doc files for all plugins symlinked in ~/.guix-home/profile/share/vim/vimfiles/doc , and then the "tags" file of (I'm guessing) the last plugin, meaning only that last plugin documentation is available in vim.
>
> 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.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2023-02-19 20:06 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 [this message]
2023-02-21 10:32 ` nils
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=Y/KBMu39CN49vtvb@3900XT \
--to=efraim@flashner.co.il \
--cc=help-guix@gnu.org \
--cc=nils@promisedlandt.de \
/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).