help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generating helptags for vim plugins


From: Efraim Flashner
Subject: Re: Generating helptags for vim plugins
Date: Sun, 19 Feb 2023 22:06:10 +0200

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: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]