Commit graph

47 commits

Author SHA1 Message Date
Tobias Geerinckx-Rice
f3af1fb0bc
bash completion: Complete ‘guix shell -f’.
* etc/completion/bash/guix (_guix_complete): Suggest a file name
following ‘guix shell […] -f’.
2021-12-08 21:09:55 +01:00
Tobias Geerinckx-Rice
8e6989fcaf
bash completion: Complete top-level options.
* etc/completion/bash/guix (_guix_complete_option): Fix operation without a {,sub}command.
(_guix_complete): Call it also when no command is given.
2021-10-31 00:57:07 +02:00
Tobias Geerinckx-Rice
0987a0eba4
bash completion: Don't hard-code "guix" binary name.
* etc/completion/bash/guix (_guix_complete_command):
Use ${COMP_WORDS[0]} instead of hard-coding "guix".
2021-10-31 00:57:07 +02:00
Ludovic Courtès
80edb7df65
Add 'guix shell'.
* guix/scripts/shell.scm, tests/guix-shell.sh: New files.
* Makefile.am (MODULES): Add 'shell.scm'.
(SH_TESTS): Add 'tests/guix-shell.sh'.
* guix/scripts/environment.scm (show-environment-options-help): New
procedure.
(show-help): Use it.
(guix-environment*): New procedure.
(guix-environment): Use it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Features): Refer to "guix shell"
(Invoking guix package): Likewise.
(Development): Likewise.
(Invoking guix shell): New node.
(Invoking guix environment): Add deprecation warning.
(Debugging Build Failures): Use 'guix shell' in examples.
(Invoking guix container): Refer to 'guix shell'.
(Invoking guix processes, Virtualization Services): Adjust examples to
use 'guix shell'.
* doc/contributing.texi (Building from Git): Refer to 'guix shell'.
* etc/completion/bash/guix: Handle "shell".
2021-10-25 18:58:18 +02:00
Liliana Marie Prikler
55f6d9e818
etc: completion: Filter gratuitous spaces from available packages.
Tested with:

  guix environment --{ad-hoc,pure} zsh guix bash-completion coreutils -- zsh
  % fpath=(~/guix/etc/completion/zsh $fpath)
  % autoload -U compinit; compinit

* etc/completion/zsh/_guix (_guix_list_available_packages): Remove spaces.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-10-24 20:17:05 +02:00
Tobias Geerinckx-Rice
ed14bc2984
bash completion: Fix ‘system’ & ‘container’ subcommands.
* etc/completion/bash/guix (_guix_complete): Count words from the
innermost command.
2021-10-03 19:23:49 +02:00
Tobias Geerinckx-Rice
d71cfaea30
bash completion: Complete ‘guix size’ file names.
* etc/completion/bash/guix (_guix_complete): Complete store file names
after the ‘size’ command.
2021-10-03 19:23:49 +02:00
Tobias Geerinckx-Rice
9e3355d2a3
bash completion: Complete ‘guix build’ file names.
* etc/completion/bash/guix
(_guix_complete_available_package_or_store_file): New function.
(_guix_complete): Call it in place of _guix_complete_available_package
after the ‘build’ command.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
ee5e4779e2
bash completion: Complete ‘guix weather’ packages.
* etc/completion/bash/guix (_guix_complete): Complete available package
names for ‘guix weather’ when not following ‘-m’.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
17f76b209c
bash completion: Append to $COMPREPLY where possible.
_guix_complete is always called with a fresh empty array.

* etc/completion/bash/guix (_guix_complete_command)
(_guix_complete_subcommand, _guix_complete_installed_package)
(_guix_complete_option, _guix_complete_pid): Append to $COMPREPLY rather
than re-assigning.
2021-10-03 19:23:48 +02:00
Tobias Geerinckx-Rice
6fba67df19
bash completion: Consolidate similar $command ‘if’ branches.
* etc/completion/bash/guix (_guix_complete): Combine the ‘upgrade’ and
‘remove’ commands, as well as ‘download’, ‘gc’, and ‘hash’.
2021-10-03 19:23:48 +02:00
Noah Evans
a8dd285d5a
zsh completion: Add missing commands and arguments.
* etc/completion/zsh/_guix (_guix_install, _guix_remove, _guix_upgrade):
  New functions.
  (_guix_build, _guix_challenge, _guix_download, _guix_environment,
  _guix_packages, _guix_gc, _guix_hash, _guix_lint, _guix_package,
  _guix_publish, _guix_pull, _guix_refresh, _guix_size, _guix_system):
  Add some of the missing arguments.
  (_guix_cmds): Add missing commands.

Co-authored-by: Brice Waegeneire <brice@waegenei.re>
2021-08-28 17:57:50 +02:00
Tobias Geerinckx-Rice
fa0dc1229c
bash_completion: Complete options for ‘guix environment’.
Note that there are still plenty of bugs that this series didn't fix,
e.g.:

  $ guix time-machine -- system reconf<Tab>

* etc/completion/bash/guix (_guix_complete): Call _guix_complete_option
if the word at point looks like an option.
2021-06-16 12:13:39 +02:00
Tobias Geerinckx-Rice
dc3ba8c836
bash completion: Complete options for the right command.
* etc/completion/bash/guix (_guix_complete_option): Receive two
arguments and complete the second based on the first, instead
of blindly completing the very last word based on the very first
(sub)command.
(_guix_complete): Adjust both calls.
2021-06-16 12:13:39 +02:00
Tobias Geerinckx-Rice
80a17aae79
bash completion: Really support subcommands.
* etc/completion/bash/guix (_guix_is_option): New function.
(_guix_is_command): Remove function to replace it with simple string
comparison…
(_guix_complete): …here.  Complete the ‘innermost’ command at point.
2021-06-16 12:13:39 +02:00
Ludovic Courtès
d95168321f
import: Remove Nix importer.
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs.  See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.

* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
2021-04-20 12:13:16 +02:00
Mathieu Othacehe
ee2a5da80a
scripts: system: Remove 'vm-image' command.
Remove the 'vm-image' command that has been superseded by the 'image'
command.

* gnu/system/vm.scm (system-qemu-image): Remove it.
* guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image'
command as deprecated and use the image API to produce the VM image.
(perform-action, show-help): Adapt accordingly.
* tests/guix-system.sh: Ditto.
* doc/guix.texi (Invoking guix system,
Running Guix in a VM): Ditto.
* etc/completion/fish/guix.fish: Ditto.
* etc/completion/zsh/_guix: Ditto.
2021-02-17 10:52:28 +01:00
Ludovic Courtès
611ae310f4
bash completion: Complete file names after '-f' and '-l'.
* etc/completion/bash/guix (_guix_is_dash_f, _guix_is_dash_l): New
functions.
(_guix_complete): Complete file names after 'guix package -f', 'guix
build -f', and 'guix environment -l'.
2020-12-04 23:45:08 +01:00
Ludovic Courtès
8e0c5033b1
bash completion: Adjust to new 'guix help' output.
This is a followup to 3794ce93be, which
broke command completion.

Reported by Oleg Pykhalov <go.wigust@gmail.com>.

* etc/completion/bash/guix (_guix_complete_command): Update to match
output of 'guix help' as introduced in
3794ce93be.
2020-09-24 17:53:02 +02:00
Fulbert
92951bf46c
bash completion: Complete file names after 'guix package -p'.
* etc/completion/bash/guix (_guix_complete): Add _guix_is_dash_p.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-21 23:33:49 +02:00
Ludovic Courtès
2ba81afcc2
bash completion: Restore completion for 'guix system', etc.
Commit 538ca8dd65 introduced a second
'_guix_complete_subcommand' function, shadowing the existing one, which
broke sub-command completion for 'guix system', 'guix import', etc.

* etc/completion/bash/guix: Distinguish between '_guix_complete_command'
and '_guix_complete_subcommand'.  Adjust users to call the right one.
2020-09-10 12:27:24 +02:00
Ludovic Courtès
4b4f890cb0
bash completion: Complete 'guix environment' properly.
* etc/completion/bash/guix (_guix_complete): Add case for "guix environment".
2020-06-27 23:42:20 +02:00
Ludovic Courtès
538ca8dd65
bash completion: Complete sub-commands after 'guix time-machine'.
* etc/completion/bash/guix (_guix_complete_subcommand): New function.
(_guix_complete): Use it.  For "time-machine", call
'_guix_complete_subcommand' by default.
2020-06-04 23:26:43 +02:00
Ludovic Courtès
b7bb381ba3
bash completion: Complete file names after '-p' and '-C'.
* etc/completion/bash/guix (_guix_is_dash_C, _guix_is_dash_p): New functions.
(_guix_complete): Honor them for "install", "remove", "upgrade", "pull",
and "time-machine".
2020-06-04 23:26:43 +02:00
nikita
3c986a7dc2
mailmap: Update entries for Nikita.
* .mailmap: change email and name for Nikita.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/cinnamon.scm,
gnu/packages/compression.scm, gnu/packages/crypto.scm,
gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm,
gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm,
gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-05-13 09:30:26 +03:00
Marius Bakke
11415d3506
guix build: Add '--manifest' option.
* guix/scripts/build.scm (show-help): Document --manifest argument.
(options->things-to-build): When given a manifest, evaluate all the entries.
* tests/guix-build.sh: Add test for --manifest.
* doc/guix.texi (Additional Build Options): Mention --manifest.
* etc/completion/bash/guix: Complete file name if 'guix build' argument is
-m.
2020-02-14 17:49:26 +01:00
Ludovic Courtès
dc209d5a5d
guix build, daemon: Rename "--no-build-hook" to "--no-offload".
This is a followup to bc69ea2d60.

* guix/scripts/build.scm (show-build-options-help): Rename
"--no-build-hook" to "--no-offload".
(%standard-build-options): Likewise, and warn when "--no-build-hook" is
passed.
* nix/nix-daemon/guix-daemon.cc (options): Add "--no-offload" and mark
"--no-build-hook" as hidden.
* guix/scripts/offload.scm: Adjust comment.
* doc/guix.texi (Invoking guix-daemon, Common Build Options): Replace
"--no-build-hook" with "--no-offload".
* etc/completion/fish/guix.fish, etc/completion/zsh/_guix: Adjust
accordingly.
2019-11-26 00:16:36 +01:00
Ludovic Courtès
d824cfbabe
guix package: Add 'install', 'remove', and 'upgrade' aliases.
* guix/scripts/install.scm, guix/scripts/remove.scm,
guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files.
* Makefile.am (MODULES, SH_TESTS): Add them.
* po/guix/POTFILES.in: Add them.
* guix/scripts/package.scm (guix-package): Split with...
(guix-package*): ... this.  New procedure.
* doc/guix.texi (Invoking guix package): Document them.
(Binary Installation, Application Setup, Package Management)
(Packages with Multiple Outputs, Package Modules)
(X.509 Certificates, Installing Debugging Files): Use 'guix install' in
simple examples.
* etc/completion/bash/guix (_guix_complete): Handle "install", "remove",
and "upgrade".
2019-04-29 10:13:44 +02:00
ng0
47956fa0c2
Correct name and email address for ng0.
* .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi,
doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm,
gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm,
gnu/packages/guile-wm.scm,gnu/packages/guile-xyz.scm,
gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm,
gnu/packages/language.scm, gnu/packages/libcanberra.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm:
Correct name and email address for ng0.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-03-18 15:05:08 +01:00
Ludovic Courtès
7082873ea2
bash completion: Restore completion of available packages for 'guix build'.
Fixes a regression introduced in
9b0a755f64 whereby 'guix build TAB' would
not suggest any completion.

* etc/completion/bash/guix (_guix_complete): Arrange so 'guix build TAB'
completes available packages.
2018-11-06 00:04:11 +01:00
Oleg Pykhalov
3a15d0aa9c
bash completion: Complete files names after 'guix weather -m'.
* etc/completion/bash/guix (_guix_complete): Complete files names after 'guix
weather -m'.
2018-07-03 06:58:51 +03:00
Oleg Pykhalov
9b0a755f64
bash completion: Complete files names after 'guix build -L'.
* etc/completion/bash/guix (_guix_complete): Complete files names after 'guix
build -L'.
2018-07-03 06:58:51 +03:00
Oleg Pykhalov
bba0fa2499
Add guix-daemon Bash completion file.
* etc/completion/bash/guix-daemon: New file.
* Makefile.am (dist_bashcompletion_DATA): Add this.
2018-06-16 21:23:11 +03:00
ng0
4a78fd4617
Correct name and Email for ng0.
* .mailmap: Correct name and Email for ng0.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/emacs.scm, gnu/packages/enlightenment.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm,
gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm,
gnu/packages/guile.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm,
gnu/packages/image-viewers.scm, gnu/packages/image.scm,
gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm,
gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm,
gnu/packages/music.scm, gnu/packages/ncurses.scm,
gnu/packages/networking.scm, gnu/packages/nickle.scm,
gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-crypto.scm, gnu/packages/python-web.scm,
gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/ruby.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/serialization.scm,
gnu/packages/shells.scm, gnu/packages/ssh.scm,
gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm,
gnu/packages/tls.scm, gnu/packages/tor.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm,
gnu/packages/xfce.scm, gnu/packages/xml.scm,
gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm,
guix/licenses.scm: Likewise.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2018-03-20 17:17:58 +01:00
Oleg Pykhalov
f5f916792c
bash completion: Complete files names after 'guix package -m'.
* etc/completion/bash/guix (_guix_is_dash_m): New function.
(_guix_complete): Add this.
2018-02-17 22:23:07 +03:00
ng0
b83fc85f9f
etc: Add completions for fish.
* etc/completion/fish/guix.fish: New file.
* Makefile.am: Register the file.
* configure.ac: Add the fish vendor-completions directory.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-01-16 16:00:20 +01:00
Marius Bakke
ed8634c404
bash completion: Complete files names after 'guix download'.
* etc/completion/bash/guix (_guix_complete): When the command is "download",
use __guix_complete_file.
2017-08-22 23:13:42 +02:00
Ludovic Courtès
f2c66fbe1f
bash completion: Complete subcommands for the current word.
* etc/completion/bash/guix (_guix_complete_subcommand): Refer to
the $COMP_CWORD element instead of the last element.
2017-02-07 00:08:10 +01:00
Ludovic Courtès
a93c1c5921
bash completion: Properly complete 'guix container exec'.
* etc/completion/bash/guix (_guix_complete_pid): New function.
(_guix_complete): Add case for "container".
2017-02-07 00:08:10 +01:00
Ludovic Courtès
e109ed3922
bash completion: Complete file names after 'guix system COMMAND'.
* etc/completion/bash/guix (_guix_complete): When the command is
"system" and $COMP_CWORD > 2, use _guix_complete_file.
2017-02-07 00:08:10 +01:00
Ludovic Courtès
3454f7edf9
bash completion: Complete 'guix gc' with file names.
Reported by a couple of cool folks at a bar in Brussels.

* etc/completion/bash/guix (_guix_complete): Use '_guix_complete_file'
for 'guix gc'.  This fixes completion of 'guix gc -d'.
2017-02-07 00:08:10 +01:00
Ludovic Courtès
f07f7d8614
bash completion: Complete subcommands and their options.
* etc/completion/bash/guix (_guix_complete_subcommand): New function.
(_guix_complete_option): Allow completion of subcommand options.
(_guix_complete): Use '_guix_complete_subcommand' for "system" and
"import".
2016-09-07 17:33:48 +02:00
Ludovic Courtès
e9006d06a0
bash completion: Redirect 'guix' stderr to /dev/null.
This avoids spurious messages when pressing TAB.

* etc/completion/bash/guix (_guix_complete_available_package)
(_guix_complete_installed_package, _guix_complete_option)
(_guix_complete): Redirect stderr to /dev/null when running 'guix'.
2016-09-07 16:22:25 +02:00
Eric Le Bihan
96dbc93089
Add Zsh completion file.
* etc/completion/zsh/_guix: New file.
* Makefile.am (dist_zshcompletion_DATA): New variable.
* configure.ac: Add --with-zsh-completion-dir.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-09-07 16:08:20 +02:00
Ludovic Courtès
4a9999871c bash completion: Cache the list of subcommands and available packages.
* etc/completion/bash/guix (_guix_complete_available_package): Cache the list
  of available packages in '_guix_available_packages' and use it.
  (_guix_complete): Cache the list of subcommands in '_guix_subcommands' and
  use it.
2015-08-20 19:57:33 +02:00
Ludovic Courtès
868ef9aec7 bash completion: Complete long options with no short variant.
* etc/completion/bash/guix (_guix_complete_option): Change grep regexp
  to match options that don't have a short option name.
2015-05-01 17:39:39 +02:00
Ludovic Courtès
ee3e157dec Add Bash completion file.
* etc/completion/bash/guix: New file.
* Makefile.am (dist_bashcompletion_DATA): New variable.
* configure.ac: Add --with-bash-completion-dir.
2015-04-09 23:44:14 +02:00