[PATCH] Update zsh completion file for guix command.

  • Done
  • quality assurance status badge
Details
3 participants
  • Brice Waegeneire
  • Noah Evans
  • Ludovic Courtès
Owner
unassigned
Submitted by
Noah Evans
Severity
normal
N
N
Noah Evans wrote on 3 Mar 2021 23:44
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
uGNqqNxhoGy50hEDoqYXdx91SRCaPh_txZSGn5ySeUu5FZk865tdZsb4Z8QI3V74DSc1JjUlk8idGP6wYZ06aNpKr_90kkCV28iLBc_xVRk=@protonmail.com
From a8fad11ae73c6256954c1ac06483a72280ad0381 Mon Sep 17 00:00:00 2001
From: Noah Evans <noah@nevans.me>
Date: Wed, 3 Mar 2021 17:38:18 -0500
Subject: [PATCH] Update zsh completion file.

---
etc/completion/zsh/_guix | 405 +++++++++++++++++++++++++++++----------
1 file changed, 305 insertions(+), 100 deletions(-)

Toggle diff (354 lines)
diff --git a/etc/completion/zsh/_guix b/etc/completion/zsh/_guix
index aa1a859e0d..75fac9c509 100644
--- a/etc/completion/zsh/_guix
+++ b/etc/completion/zsh/_guix
@@ -68,21 +68,24 @@ _guix_list_installed_packages()
(( $+functions[_guix_build] )) || _guix_build()
{
_arguments \
- '--expression=[build the package matching EXPR]:EXPR' \
- '--file=[build the package matching code evaluated from FILE]:FILE:_files' \
- '--source[build the packages source derivations]' \
- '--sources=[build source derivations]:TYPE:(all package transitive)' \
- '--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
+ {-e,--expression=}'[build the package or derivation EXPR evaluates to]:EXPR' \
+ {-f,--file=}'[build the package or derivation that the code within FILE evaluates to]:FILE:_files' \
+ {-m,--manifest=}'[build the packages that the manifest given in FILE evaluates to]:FILE:_files' \
+ {-S,--source}'[build the packages source derivations]' \
+ '--sources=[build source derivations]:TYPE:(package all transitive)' \
+ {-s,--system=}'[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--target=[cross-build for TRIPLET (e.g. "armel-linux-gnu")]:TRIPLET' \
- '--derivations[return the derivation paths of the given packages]' \
+ {-d,--derivations}'[return the derivation paths of the given packages]' \
'--check[rebuild items to check for non-determinism issues]' \
- '--root=[symlink result to FILE and register it as GC root]:FILE:_files' \
- '--quiet[do not show the build log]' \
+ '--repair[repair the specified items]' \
+ {-r,--root=}'[make FILE a symlink to the result, and register it as a GC root]:FILE:_files' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
+ {-q,--quiet}'[do not show the build log]' \
'--log-file[return the log file names for the given derivations]' \
- '--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
- '--keep-failed[keep build tree of failed builds]' \
- '--keep-going[keep going when some of the derivations fail]' \
- '--dry-run[do not build the derivations]' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -\' \
+ {-K,--keep-failed}'[keep build tree of failed builds]' \
+ {-k,--keep-going}'[keep going when some of the derivations fail]' \
+ {-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@@ -90,12 +93,12 @@ _guix_list_installed_packages()
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
- '--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
- '--cores=[allow the use of up to N CPU cores for the build]:N' \
- '--max-jobs=[allow at most N build jobs]:N' \
- '--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
- '--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT' \
+ {-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
+ {-M,--max-jobs=}'[allow at most N build jobs]:N' \
+ '--debug=[produce debugging output at LEVEL]:LEVEL' \
+ '--help-transform[list package transformation options not shown here]' \
+ {-V,--version}'[display version information and exit]' \
'*:package:->packages'

if [[ "$state" = packages ]]; then
@@ -107,7 +110,9 @@ _guix_list_installed_packages()
(( $+functions[_guix_challenge] )) || _guix_challenge()
{
_arguments \
- '--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
+ '--substitute-urls=[compare build results with those at URLS]:URLS:_urls' \
+ '--diff=[show differences according to MODE]:MODE' \
+ {-v,--verbose}'[show details about successful comparisons]' \
'*:package:->packages'

if [[ "$state" = packages ]]; then
@@ -126,7 +131,11 @@ _guix_list_installed_packages()
(( $+functions[_guix_download] )) || _guix_download()
{
_arguments \
- '--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
+ {-f,--format=}'[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
+ {-H,--hash=}'[use the given hash ALGORITHM]:ALGORITHM' \
+ '--no-check-certificate[do not validate the certificate of HTTPS servers ]' \
+ {-o,--output=}'[download to FILE]:FILE:_files' \
+ {-V,--version}'[display version information and exit]' \
'1:URL:_urls'
}

@@ -139,21 +148,29 @@ _guix_list_installed_packages()
(( $+functions[_guix_environment] )) || _guix_environment()
{
_arguments \
- '--expression=[create environment for the package evaluated from EXPR]:EXPR' \
- '--load=[create environment for the package evaluated from FILE]:FILE:_files' \
- '--ad-hoc[include all specified packages, not only their inputs]' \
+ {-e,--expression=}'[create environment for the package that EXPR evaluates to]:EXPR' \
+ {-l,--load=}'[create environment for the package that the code within FILE evaluates to]:FILE:_files' \
+ {-m,--manifest=}'[create environment with the manifest from FILE]:FILE:_files' \
+ {-p,--profile=}'[create environment from profile at PATH]:PATH:_files -/' \
+ '--ad-hoc[include all specified packages in the environment instead of only their inputs]' \
'--pure[unset existing environment variables]' \
+ {-E,--preserve=}'[preserve environment variables that match REGEXP]:REGEXP' \
'--search-paths[display needed environment variable definitions]' \
- '--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
- '--container[run command within an isolated container]' \
- '--network[allow containers to access the network]' \
- '--share=[share writable host file system according to SPEC]:SPEC' \
- '--expose=[expose read-only host file system according to SPEC]:SPEC' \
+ {-s,--system=}'[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
+ {-r,--root=}'[make FILE a symlink to the result, and register it as a GC root]:FILE:_files' \
+ {-C,--container}'[run command within an isolated container]' \
+ {-N,--network}'[allow containers to access the network]' \
+ {-P,--link-profile}'[link environment profile to ~/.guix-profile within an isolated container]' \
+ {-u,--user=}'[instead of copying the name and home of the current user into an isolated container, use the name USER with home directory /home/USER]:USER:_users' \
+ '--no-cwd[do not share current working directory with an isolated container]' \
+ '--share=[for containers, share writable host file system according to SPEC]:SPEC' \
+ '--expose=[for containers, expose read-only host file system according to SPEC]:SPEC' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
'--bootstrap[use bootstrap binaries to build the environment]' \
- '--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
- '--keep-failed[keep build tree of failed builds]' \
- '--keep-going[keep going when some of the derivations fail]' \
- '--dry-run[do not build the derivations]' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ {-K,--keep-failed}'[keep build tree of failed builds]' \
+ {-k,--keep-going}'[keep going when some of the derivations fail]' \
+ {-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@@ -161,10 +178,12 @@ _guix_list_installed_packages()
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
- '--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
- '--cores=[allow the use of up to N CPU cores for the build]:N' \
- '--max-jobs=[allow at most N build jobs]:N' \
+ {-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
+ {-M,--max-jobs=}'[allow at most N build jobs]:N' \
+ '--debug=[produce debugging output at LEVEL]:LEVEL' \
+ '--help-transform[list package transformation options not shown here]' \
+ {-V,--version}'[display version information and exit]' \
'*:package:->packages'

if [[ "$state" = packages ]]; then
@@ -177,27 +196,39 @@ _guix_list_installed_packages()
(( $+functions[_guix_gc] )) || _guix_gc()
{
_arguments \
- '--collect-garbage=[collect at least MIN bytes of garbage]:MIN' \
- '--free-space=[attempt to reach FREE available space in the store]:FREE' \
- '--delete[attempt to delete PATHS]' \
+ {-C,--collect-garbage=}'[collect at least MIN bytes of garbage]:MIN' \
+ {-F,--free-space=}'[attempt to reach FREE available space in the store]:FREE' \
+ {-d,--delete-generations=}'[delete profile generations matching PATTERN]:PATTERN' \
+ {-D,--delete}'[attempt to delete PATHS]' \
+ '--list-roots[list the users GC roots]' \
+ '--list-busy[list store items used by running processes]' \
'--optimize[optimize the store by deduplicating identical files]' \
'--list-dead[list dead paths]' \
'--list-live[list live paths]' \
'--references[list the references of PATHS]' \
- '--requisites[list the requisites of PATHS]' \
+ {-R,--requisites}'[list the requisites of PATHS]' \
'--referrers[list the referrers of PATHS]' \
+ '--derivers[list the derivers of PATHS]' \
'--verify=[verify the integrity of the store]:OPTS:(contents repair)' \
'--list-failures[list cached build failures]' \
'--clear-failures[remove PATHS from the set of cached failures]' \
- '1:PATH:_dirs'
+ {-V,--version}'[display version information and exit]:V' \
+ '1:PATH:_files -/'
}

(( $+functions[_guix_graph] )) || _guix_graph()
{
_arguments \
- '--type=[represent nodes of the given TYPE]:TYPE:->types' \
+ {-b,--backend=}'[produce a graph with the given backend TYPE]:TYPE:->types' \
+ '--list-backends[list the available graph backends]' \
+ {-t,--type=}'[represent nodes of the given TYPE]:TYPE:->types' \
'--list-types[list the available graph types]' \
- '--expression=[consider the package EXPR evaluates to]:EXPR' \
+ '--path[display the shortest path between the given nodes]' \
+ {-e,--expression=}'[consider the package EXPR evaluates to]:EXPR' \
+ {-s,--system=}'[consider the graph for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ '--help-transform[list package transformation options not shown here]' \
+ {-V,--version}'[display version information and exit]' \
'1:PACKAGE:->packages'

case "$state" in
@@ -216,8 +247,11 @@ _guix_list_installed_packages()
(( $+functions[_guix_hash] )) || _guix_hash()
{
_arguments \
- '--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
- '--recursive[compute the hash on FILE recursively]'\
+ {-x,--exclude-vcs}'[exclude version control directories]' \
+ {-H,--hash=}'[use the given hash ALGORITHM]:ALGORITHM' \
+ {-f,--format=}'[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
+ {-r,--recursive}'[compute the hash on FILE recursively]' \
+ {-V,--version}'[display version information and exit]' \
'1:FILE:_files'
}

@@ -236,8 +270,12 @@ _guix_list_installed_packages()
(( $+functions[_guix_lint] )) || _guix_lint()
{
_arguments \
- '--checkers=[only run the specified checkers]:CHECKERS:->checkers' \
- '--list-checkers[display the list of available lint checkers]' \
+ {-c,--checkers=}'[only run the specified checkers]:CHECKERS:->checkers' \
+ {-x,--exclude=}'[exclude the specified checkers]:CHECKERSS:->checkers' \
+ {-n,--no-network}'[only run checkers that do not access the network]' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ {-l,--list-checkers}'[display the list of available lint checkers]' \
+ {-V,--version}'[display version information and exit]' \
'1:PACKAGE:->packages'

case "$state" in
@@ -255,29 +293,31 @@ _guix_list_installed_packages()
(( $+functions[_guix_package] )) || _guix_package()
{
_arguments \
- '--install[install one or more packages]: :->install' \
- '--install-from-expression=[install the package EXP evaluates to]:EXP' \
- '--install-from-file=[install the package evaluated from FILE]:FILE:_files' \
- '--remove[remove one or more packages]: :->remove' \
- '--upgrade=[upgrade all the installed packages matching REGEXP]:REGEXP' \
- '--manifest=[create a new profile generation from FILE]:FILE:_files' \
+ {-i,--install}'[install one or more packages]: :->install' \
+ {-e,--install-from-expression=}'[install the package EXP evaluates to]:EXP' \
+ {-f,--install-from-file=}'[install the package evaluated from FILE]:FILE:_files' \
+ {-r,--remove}'[remove one or more packages]: :->remove' \
+ {-u,--upgrade=}'[upgrade all the installed packages matching REGEXP]:REGEXP' \
+ {-m,--manifest=}'[create a new profile generation from FILE]:FILE:_files' \
'--do-not-upgrade=[do not upgrade any packages matching REGEXP]:REGEXP' \
'--roll-back[roll back to the previous generation]' \
'--search-paths=[display needed environment variable definitions]:KINDS' \
- '--list-generations=[list generations matching PATTERN]:PATTERN' \
- '--delete-generations=[delete generations matching PATTERN]:PATTERN' \
- '--switch-generation=[switch to a generation matching PATTERN]:PATTERN' \
- '--profile=[use PROFILE instead of the default profile]:PROFILE' \
+ '--export-manifest[print a manifest for the chosen profile]' \
+ '--export-channels[print channels for the chosen profile]' \
+ {-l,--list-generations=}'[list generations matching PATTERN]:PATTERN' \
+ {-d,--delete-generations=}'[delete generations matching PATTERN]:PATTERN' \
+ {-S,--switch-generation=}'[switch to a generation matching PATTERN]:PATTERN' \
+ {-p,--profile}'[use PROFILE instead of the default profile]:PROFILE:_files -/' \
+ '--list-profiles[list the profiles]' \
'--bootstrap[use the bootstrap Guile to build the profile]' \
- '--verbose[produce verbose output]' \
- '--search=[search in synopsis and description using REGEXP]:REGEXP' \
- '--list-installed=[list installed packages matching REGEXP]:REGEXP' \
- '--list-available=[list available packages matching REGEXP]:REGEXP' \
+ {-s,--search=}'[search in synopsis and description using REGEXP]:REGEXP' \
+ {-I,--list-installed=}'[list installed packages matching REGEXP]:REGEXP' \
+ {-A,--list-available=}'[list available packages matching REGEXP]:REGEXP' \
'--show=[show details about a package]: :->show' \
- '--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
- '--keep-failed[keep build tree of failed builds]' \
- '--keep-going[keep going when some of the derivations fail]' \
- '--dry-run[do not build the derivations]' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ {-K,--keep-failed}'[keep build tree of failed builds]' \
+ {-k,--keep-going}'[keep going when some of the derivations fail]' \
+ {-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@@ -287,10 +327,14 @@ _guix_list_installed_packages()
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
- '--cores=[allow the use of up to N CPU cores for the build]:N' \
- '--max-jobs=[allow at most N build jobs]:N' \
+ {-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
+ {-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
- '--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT'
+ '--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT' \
+ '--allow-collisions[do not treat collisions in the profile as an error]' \
+ '--debug=[produce debugging output at LEVEL]' \
+ '--help-transform[list package transformation options not shown here]' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]'

case "$state" in
install|show)
@@ -304,37 +348,178 @@ _guix_list_installed_packages()
esac
}

+(( $+functions[_guix_install] )) || _guix_install()
+{
+ _arguments \
+ {-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ {-K,--keep-failed}'[keep build tree of failed builds]' \
+ {-k,--keep-going}'[keep going when some of the derivations fail]' \
+ {-n,--dry-run}'[do not build the derivations]' \
+ '--fallback[fall back to building when the substituter fails]' \
+ '--no-substitutes[build instead of resorting to pre-built substitutes]' \
+ '--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
+ '--no-grafts[do not graft packages]' \
+ '--no-offload[do not attempt to offload builds]' \
+ '--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
+ '--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
+ '--rounds=[build N times in a row to detect non-determinism]:N' \
+ {-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
+ {-M,--max-jobs=}'[allow at most N build jobs]:N' \
+ '--debug=[produce debugging output at LEVEL]:LEVEL' \
+ '--help-transform[list package transformation options not shown here]' \
+ {-V,--version}'[display version information and exit]' \
+ '*:package:->packages'
+
+ if [[ "$state" = packages ]]; then
+ _guix_list_available_packages
+ compadd -a -- _guix_available_packages
+ fi
+}
+
+(( $+functions[_guix_remove] )) || _guix_remove()
+{
+ _arguments \
+ {-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
+ {-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
+ {-K,--keep-failed}'[keep build tree of failed builds]' \
+ {-k,--keep-going}'[keep going when some of the derivations fail]' \
+ {-n,--dry-run}'[do not build the derivations]' \
+ '--fallback[fall back to building when the substituter fails]' \
+ '--no-substitutes[build instead of resorting to pre-built substitutes]' \
+ '--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
+ '--no-grafts[do not graft packages]' \
+ '--no-offload[do not attempt to offload builds]' \
+ '--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
+ '--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
+ '--rounds=[build N times in a row to detect non-determinism]:N' \
+ {-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
+ {-M,--max-jobs=}'[allow at most N build jobs]:N' \
+ '--debug=[produce debugging output at LEVEL]:LEVEL' \
+ {-V,--version}'[display version information and exit]' \
+ '*:package:->packages'
+
+ if [[ "$state" = packages ]]; then
+ _guix_list_installed_packages
+ compadd -a -- _guix_installed_packages
+ fi
+}
+
+(( $+functions[_guix_upgrade] )) || _guix_upgrade()
+{
+ _arguments \
+ {-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
+ {-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
+ '--do-not-upgrade=[do not upgrade any pa
This message was truncated. Download the full message here.
Attachment: file
B
B
Brice Waegeneire wrote on 7 Mar 2021 10:27
(name . Noah Evans)(address . clonex100@protonmail.com)(address . 46907@debbugs.gnu.org)
87o8fvz52j.fsf@waegenei.re
Hello Noah,

Noah Evans <clonex100@protonmail.com> writes:

Toggle quote (3 lines)
> etc/completion/zsh/_guix | 405 +++++++++++++++++++++++++++++----------
> 1 file changed, 305 insertions(+), 100 deletions(-)

I tried to update ZSH's completion myself a few month ago, but it was
too tedious, so thank you for the patch!

Unfortunalty I wasn't able to apply it since git give me an format error
when doing so. Could you resend the patch, not as a MIME attachement
but a proper email with git-sendmail and write a commit message for it?
It's all explaind in the “Submitting Patches” part of the
documentation¹.


Cheers,
- Brice
L
L
Ludovic Courtès wrote on 19 Mar 2021 22:01
control message for bug #46907
(address . control@debbugs.gnu.org)
8735wqdfix.fsf@gnu.org
tags 46907 + moreinfo
quit
L
L
Ludovic Courtès wrote on 19 Mar 2021 22:02
Re: bug#46907: [PATCH] Update zsh completion file for guix command.
(name . Noah Evans)(address . clonex100@protonmail.com)
87y2eic0xg.fsf_-_@gnu.org
Hi Noah,

Would be great if you could resend the patch as Brice suggested below!

TIA,
Ludo’.

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (20 lines)
> Hello Noah,
>
> Noah Evans <clonex100@protonmail.com> writes:
>
>> etc/completion/zsh/_guix | 405 +++++++++++++++++++++++++++++----------
>> 1 file changed, 305 insertions(+), 100 deletions(-)
>
> I tried to update ZSH's completion myself a few month ago, but it was
> too tedious, so thank you for the patch!
>
> Unfortunalty I wasn't able to apply it since git give me an format error
> when doing so. Could you resend the patch, not as a MIME attachement
> but a proper email with git-sendmail and write a commit message for it?
> It's all explaind in the “Submitting Patches” part of the
> documentation¹.
>
> ¹ https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html
>
> Cheers,
> - Brice
B
B
Brice Waegeneire wrote on 28 Aug 2021 17:58
(name . Noah Evans)(address . clonex100@protonmail.com)(address . 46907-done@debbugs.gnu.org)
87wno5d0i2.fsf@waegenei.re
Hello Noah,

I managed to fix your submited patch, by saving it with in "gnus-article-mode"
in Emacs and having a single spave before each context lines.

When applied I checked the arguments of each commands, fixed some duplicated
or missing ones, added your copyright, updated the guix commands list and wrote
a commit message.

I've puhsed it as a8dd285d5a0670abf124a721e6ba94da045b24ba.

ATM we are still missing completions for transform options, each importer
options and the following commands:
- archive
- edit
- copy
- git
- deploy
- describe
- pack
- search
- show
- weather
- offload
- processes
- repl

I think the current pattern of copying bits from the “--help” shows it's limit
as it's difficult to stay in sync with the actual “guix” arguments. It would be
better to get thoses string at run time as it's done in bash's completions.

Cheers,
- Brice
Closed
?