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.
This commit is contained in:
Tobias Geerinckx-Rice 2021-10-03 13:50:10 +02:00
parent ee5e4779e2
commit 9e3355d2a3
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -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