summaryrefslogtreecommitdiff
path: root/etc/completion/bash/guix
AgeCommit message (Expand)Author
2023-12-10bash completion: Complete ‘guix style -f’ with files....* etc/completion/bash/guix (_guix_is_dash_f): Recognise ‘--whole-file’ as a member of the ‘-f’ family. (_guix_complete): Add a new clause for ‘guix style’. Reported by cmiller in #guix. Change-Id: I3f55f7fd7fb8610dc13770ebfe70d9f65c1497af Tobias Geerinckx-Rice
2022-05-29bash completion: Fix & unify option parsing....We now correctly recognise ‘guix -Abcdef’ as equivalent to ‘guix -f’. * etc/completion/bash/guix (_guix_is_short_option, guix_is_long_option): New functions. (_guix_is_dash_f, _guix_is_dash_l, _guix_is_dash_L, _guix_is_dash_m) (_guix_is_dash_C, _guix_is_dash_p): Use them. Tobias Geerinckx-Rice
2022-01-17bash completion: Complete "guix home" sub-commands....* etc/completion/bash/guix (_guix_complete): Treat "guix home" like "guix system". Ludovic Courtès
2022-01-16bash completion: Fix options completion....Fixes, for example, "guix import pypi --<TAB>", which would previously fail to show '--recursive'. * etc/completion/bash/guix (_guix_complete_option): Fix options completion for first subcommand. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Fulbert
2021-12-08bash completion: Complete ‘guix shell -f’....* etc/completion/bash/guix (_guix_complete): Suggest a file name following ‘guix shell […] -f’. Tobias Geerinckx-Rice
2021-10-31bash 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. Tobias Geerinckx-Rice
2021-10-31bash completion: Don't hard-code "guix" binary name....* etc/completion/bash/guix (_guix_complete_command): Use ${COMP_WORDS[0]} instead of hard-coding "guix". Tobias Geerinckx-Rice
2021-10-25Add '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". Ludovic Courtès
2021-10-03bash completion: Fix ‘system’ & ‘container’ subcommands....* etc/completion/bash/guix (_guix_complete): Count words from the innermost command. Tobias Geerinckx-Rice
2021-10-03bash completion: Complete ‘guix size’ file names....* etc/completion/bash/guix (_guix_complete): Complete store file names after the ‘size’ command. Tobias Geerinckx-Rice
2021-10-03bash 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. Tobias Geerinckx-Rice
2021-10-03bash completion: Complete ‘guix weather’ packages....* etc/completion/bash/guix (_guix_complete): Complete available package names for ‘guix weather’ when not following ‘-m’. Tobias Geerinckx-Rice
2021-10-03bash 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. Tobias Geerinckx-Rice
2021-10-03bash 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’. Tobias Geerinckx-Rice
2021-06-16bash_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. Tobias Geerinckx-Rice
2021-06-16bash 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. Tobias Geerinckx-Rice
2021-06-16bash 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. Tobias Geerinckx-Rice
2020-12-04bash 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'. Ludovic Courtès
2020-09-24bash completion: Adjust to new 'guix help' output....This is a followup to 3794ce93be8216d8378df7b808ce7f53b1e05a53, 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 3794ce93be8216d8378df7b808ce7f53b1e05a53. Ludovic Courtès
2020-09-21bash 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> Fulbert
2020-09-10bash completion: Restore completion for 'guix system', etc....Commit 538ca8dd65f0075cc65bcca18ed87f66a789290a 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. Ludovic Courtès
2020-06-27bash completion: Complete 'guix environment' properly....* etc/completion/bash/guix (_guix_complete): Add case for "guix environment". Ludovic Courtès
2020-06-04bash 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. Ludovic Courtès
2020-06-04bash 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". Ludovic Courtès
2020-02-14guix 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. Marius Bakke
2019-04-29guix 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". Ludovic Courtès
2018-11-06bash completion: Restore completion of available packages for 'guix build'....Fixes a regression introduced in 9b0a755f642542dd96065ad05ec9d844d8077fd7 whereby 'guix build TAB' would not suggest any completion. * etc/completion/bash/guix (_guix_complete): Arrange so 'guix build TAB' completes available packages. Ludovic Courtès
2018-07-03bash completion: Complete files names after 'guix weather -m'....* etc/completion/bash/guix (_guix_complete): Complete files names after 'guix weather -m'. Oleg Pykhalov
2018-07-03bash completion: Complete files names after 'guix build -L'....* etc/completion/bash/guix (_guix_complete): Complete files names after 'guix build -L'. Oleg Pykhalov
2018-02-17bash completion: Complete files names after 'guix package -m'....* etc/completion/bash/guix (_guix_is_dash_m): New function. (_guix_complete): Add this. Oleg Pykhalov
2017-08-22bash completion: Complete files names after 'guix download'....* etc/completion/bash/guix (_guix_complete): When the command is "download", use __guix_complete_file. Marius Bakke
2017-02-07bash 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. Ludovic Courtès
2017-02-07bash completion: Properly complete 'guix container exec'....* etc/completion/bash/guix (_guix_complete_pid): New function. (_guix_complete): Add case for "container". Ludovic Courtès
2017-02-07bash 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. Ludovic Courtès
2017-02-07bash 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'. Ludovic Courtès
2016-09-07bash 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". Ludovic Courtès
2016-09-07bash 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'. Ludovic Courtès
2015-08-20bash 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. Ludovic Courtès
2015-05-01bash 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. Ludovic Courtès
2015-04-09Add Bash completion file....* etc/completion/bash/guix: New file. * Makefile.am (dist_bashcompletion_DATA): New variable. * configure.ac: Add --with-bash-completion-dir. Ludovic Courtès