diff --git a/contrib/bash_completion b/contrib/bash_completion --- a/contrib/bash_completion +++ b/contrib/bash_completion @@ -90,6 +90,9 @@ return fi + # canonicalize command name + cmd=$(hg -q help "$cmd" | sed -e 's/^hg //; s/ .*//; 1q') + if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" = --rev ]; then _hg_tags return @@ -99,10 +102,10 @@ help) _hg_commands ;; - export|manifest|update|checkout|up|co) + export|manifest|update) _hg_tags ;; - pull|push|outgoing|incoming|out|in) + pull|push|outgoing|incoming) _hg_paths COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" )) ;; @@ -112,7 +115,7 @@ add) _hg_status "u" ;; - commit|ci) + commit) _hg_status "mra" ;; remove)