From 9e3355d2a35796276d17af13ac45814dbf6c4203 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 3 Oct 2021 13:50:10 +0200 Subject: bash completion: Complete ‘guix build’ file names. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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. --- etc/completion/bash/guix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'etc/completion/bash') diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index 724d35b21f..fcf9482639 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix @@ -171,6 +171,18 @@ _guix_complete_file () COMPREPLY=() } +_guix_complete_available_package_or_store_file () +{ + _guix_complete_available_package "$@" + + # The current _guix_complete_file implementation doesn't compose (append to + # COMPREPLY), so we suggest file names only if no package names matched. + if [[ -z "$COMPREPLY" ]] + then + _guix_complete_file # TODO: restrict to store files + fi +} + _guix_complete_pid () { local pids="$(cd /proc; echo [0-9]*)" @@ -251,7 +263,7 @@ _guix_complete () then _guix_complete_file else - _guix_complete_available_package "$word_at_point" + _guix_complete_available_package_or_store_file "$word_at_point" fi elif [[ "$command" = "environment" ]] then -- cgit 1.4.1