summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorJonathan Scoresby <me@jonscoresby.com>2023-10-16 12:15:12 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-11-08 12:03:05 +0200
commit8882ec71ddec3ff815613883f360f4c01a23983b (patch)
tree35bfcf9d6aad20e3933457fbbd0ff5f32f98e6a1 /doc/guix.texi
parentb17567d45c03b7125bfe0255f4ac45d5db81a268 (diff)
build-system: Add vim-build-system.
* guix/build-system/vim.scm, * guix/build/vim-build-system.scm: New modules. * Makefile.am (MODULES): Register new files. * doc/guix.texi: Document it. Co-authored-by: Efraim Flashner <efraim@flashner.co.il> Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi35
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 8c78ff8c0c..94903fb5e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9448,6 +9448,41 @@ e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}.
@end itemize
@end defvar
+@defvar vim-build-system
+This variable is exported by @code{(guix build-system vim)}. It is an
+extension of the @code{copy-build-system}, installing Vim and Neovim plugins
+into locations where these two text editors know to find their plugins, using
+their packpaths.
+
+Packages which are prefixed with @code{vim-} will be installed in Vim's
+packpath, while those prefixed with @code{neovim-} will be installed in
+Neovim's packpath. If there is a @code{doc} directory with the plugin then
+helptags will be generated automatically.
+
+There are a couple of keywords added with the @code{vim-build-system}:
+@itemize
+@item With @code{plugin-name} it is possible to set the name of the plugin.
+While by default this is set to the name and version of the package, it is
+often more helpful to set this to name which the upstream author calls their
+plugin. This is the name used for @command{:packadd} from inside Vim.
+@item With @code{install-plan} it is possible to augment the built-in
+install-plan of the @code{vim-build-system}. This is particularly helpful if
+you have files which should be installed in other locations. For more
+information about using the @code{install-plan}, see the
+@code{copy-build-system} (@pxref{Build Systems, @code{copy-build-system}}).
+@item With @code{#:vim} it is possible to add this package to Vim's packpath,
+in addition to if it is added automatically because of the @code{vim-} prefix
+in the package's name.
+@item With @code{#:neovim} it is possible to add this package to Neovim's
+packpath, in addition to if it is added automatically because of the
+@code{neovim-} prefix in the package's name.
+@item With @code{#:mode} it is possible to adjust the path which the plugin is
+installed into. By default the plugin is installed into @code{start} and other
+options are available, including @code{opt}. Adding a plugin into @code{opt}
+will mean you will need to run, for example, @command{:packadd foo} to load the
+@code{foo} plugin from inside of Vim.
+@end itemize
+@end defvar
@cindex Clojure (programming language)
@cindex simple Clojure build system