all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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 --]

  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

* 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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.