aboutsummaryrefslogtreecommitdiffstats
path: root/mkhint.bash-completion
diff options
context:
space:
mode:
Diffstat (limited to 'mkhint.bash-completion')
-rw-r--r--mkhint.bash-completion16
1 files changed, 15 insertions, 1 deletions
diff --git a/mkhint.bash-completion b/mkhint.bash-completion
index 29e2523..dee57e7 100644
--- a/mkhint.bash-completion
+++ b/mkhint.bash-completion
@@ -26,7 +26,21 @@ _mkhintfile_completions() {
COMPREPLY=($(compgen -W "${words[*]}" -- "$cur"))
;;
--version|-v)
- # no completion, raw text
+ local pkg="" i
+ for (( i=1; i<${#COMP_WORDS[@]}-1; i++ )); do
+ if [[ "${COMP_WORDS[i]}" == "--hintfile" || "${COMP_WORDS[i]}" == "-f" ]]; then
+ pkg="${COMP_WORDS[i+1]}"
+ break
+ fi
+ done
+ if [[ -n "$pkg" ]]; then
+ local hint_file="$hint_dir/${pkg}.hint"
+ if [[ -f "$hint_file" ]]; then
+ local ver
+ ver=$(grep -m1 '^VERSION=' "$hint_file" | cut -d= -f2 | tr -d '"')
+ [[ -n "$ver" ]] && COMPREPLY=($(compgen -W "$ver" -- "$cur"))
+ fi
+ fi
;;
*)
COMPREPLY=($(compgen -W "$all_flags" -- "$cur"))