[PATCH 04 of 11 V3] bash_completion: determine root executable in case of alias
Sean Farley
sean.michael.farley at gmail.com
Mon Nov 25 17:42:17 UTC 2013
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1384971595 18000
# Wed Nov 20 13:19:55 2013 -0500
# Node ID e5da42e61a49bfdd29b644e06fd54fc451a14e52
# Parent ab5e1076d705d2872262621ad9cbc0884faee5de
bash_completion: determine root executable in case of alias
This solves an issue for users that have "alias hg='hg --some_opts'" where they
would see wrong entries in the completion output (such as color codes).
diff --git a/contrib/bash_completion b/contrib/bash_completion
--- a/contrib/bash_completion
+++ b/contrib/bash_completion
@@ -128,16 +128,23 @@
echo $(($count - 1))
}
_hg()
{
- local cur prev cmd cmd_index opts i
+ local cur prev cmd cmd_index opts i aliashg
# global options that receive an argument
local global_args='--cwd|-R|--repository'
local hg="$1"
local canonical=0
+ aliashg=$(alias $hg 2>/dev/null)
+ if [[ -n "$aliashg" ]]; then
+ aliashg=${aliashg#"alias $hg='"}
+ aliashg=${aliashg%"'"}
+ hg=$aliashg
+ fi
+
COMPREPLY=()
cur="$2"
prev="$3"
# searching for the command
More information about the Mercurial-devel
mailing list