From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id IJ6SHdKd9GPL8QAAbAwnHQ (envelope-from ) for ; Tue, 21 Feb 2023 11:32:50 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 6I6dHdKd9GPNVQEA9RJhRA (envelope-from ) for ; Tue, 21 Feb 2023 11:32:50 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 87A4D1C3C8 for ; Tue, 21 Feb 2023 11:32:49 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pUPwd-0003vJ-My; Tue, 21 Feb 2023 05:32:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pUPwb-0003uZ-9s for help-guix@gnu.org; Tue, 21 Feb 2023 05:32:21 -0500 Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1pUPwZ-0006Lm-3U for help-guix@gnu.org; Tue, 21 Feb 2023 05:32:21 -0500 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PLbFN54Tnz9sTK; Tue, 21 Feb 2023 11:32:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=promisedlandt.de; s=MBO0001; t=1676975528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DF6p9legEu5AzPPhzfC60WdSVrUp0z3JGytmtLCDaxg=; b=maGAbABtpp0GhGo+7iFgSxatnbXYkzQmaZGnDDl8WnN5Vw72ri9Iyy+dt8aSL9PICeTOGZ WVNTSrA75m81EbNKOd0DAQUfNtMIrkMcI4fewxy6S75AYMCtbfLl6z0g3LVCPC1Mg69yFY MbCiAZ/PxMYBGbWvmKp7/tBKRd/pmiPDIWYq4JaYPuiEcZRCd3OVbdtT8esgoO0kw5q63m qqmUluJX2gEleXekHGXdxiej+KkHrmK9anLS+tHLhUZZqOL1xsAiUV3DnzB3dy4xbH2FnF ea5omHaSugTDjobNxBRQmd2RXWjh8Tw0BSrrCiRzuyK1VP9+s8glz89Q9j9QWA== Date: Tue, 21 Feb 2023 11:32:07 +0100 (CET) From: nils@promisedlandt.de To: Efraim Flashner Cc: "help-guix@gnu.org" Message-ID: <291541103.381025.1676975528001@office.mailbox.org> In-Reply-To: References: <1973776289.362054.1676801397268@office.mailbox.org> Subject: Re: Generating helptags for vim plugins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Normal Received-SPF: pass client-ip=2001:67c:2050:0:465::102; envelope-from=nils@promisedlandt.de; helo=mout-p-102.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1676975570; a=rsa-sha256; cv=none; b=ZI/WgwLMsF8phx401B1iEI5aYRGEFtpu86c4PhZcrdKXFO3k20fpWyqqq5tbb9yX7W6nW1 Y0NT41V2mxY5TVgh56aQisHuTPKNIzE5vKK+JlKMHkKsIwVkok+RnpAQq1Nz7u9ub8vI1H B4zBLlpUUQg9Enb8osCUD2a8ZnFJj1NdI+Rz3lu1aJpViCEJBvq/M/TqnSbjLvt7pPALR4 NWBO+SPBzQD+1pm4F4M6ISWsJuOPvBwzQ8PxbTJiXtKyANR8PDDp5hCMahj2i9UVSpa33m oc99V0tj3xxxRHw45Xw7viPHVGA5Iu8RiH5UGjyiOizaxBZPVjAT2XUNsihmng== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=promisedlandt.de header.s=MBO0001 header.b=maGAbABt; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=promisedlandt.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1676975570; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=DF6p9legEu5AzPPhzfC60WdSVrUp0z3JGytmtLCDaxg=; b=jR/R+cK5kp12j+nj3d90OChUZFeNOL8EFnIeBNOP/toLtEZ/k0f/nGrPBdpsSxVN1TLmx3 aITbsnpk92DwIrxbxpstG5V26wDpl8SE4irzvvqtOELCyMyu6LkRio8DGoZdxqk6J205YJ XFN9rXQ7qXVXd08wzgFQiEhooWUH4ArUt8tXLXFtKsEsFjoThftswDemT0l+VlwfuaKll+ jdKgefHEet5hcVZ7TUJAczJVTrlDNJ+qqqxjbZ9zPQO7XA/arX1HwNWBxoQMcqRe4crqY8 WUt4DUwse6boF2+UFtxmgsdO1MCdddnHFZmt6/duU6gBcXYRj4mJNo2hjpcWCg== X-Migadu-Spam-Score: -2.75 X-Spam-Score: -2.75 X-Migadu-Queue-Id: 87A4D1C3C8 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=promisedlandt.de header.s=MBO0001 header.b=maGAbABt; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=promisedlandt.de X-TUID: 17j/n4hMRqg/ > Efraim Flashner 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/ 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/. 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?