Mercurial > hg
changeset 1850:05f6c0d1bad8
Hide debug commands in ambiguous command list, unless no normal command matches.
This will execute diff if 'hg d' is typed and hide rawcommit on 'hg r'.
Based on a patch by TK Soh.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 07 Mar 2006 08:46:19 +0100 |
parents | 360d0f8d9d6f |
children | 5c374776a8bc |
files | mercurial/commands.py |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Tue Mar 07 08:41:13 2006 +0100 +++ b/mercurial/commands.py Tue Mar 07 08:46:19 2006 +0100 @@ -2679,15 +2679,22 @@ def find(cmd): """Return (aliases, command table entry) for command string.""" choice = [] + debugchoice = [] for e in table.keys(): aliases = e.lstrip("^").split("|") if cmd in aliases: return aliases, table[e] for a in aliases: if a.startswith(cmd): - choice.append([aliases, table[e]]) + if aliases[0].startswith("debug"): + debugchoice.append([aliases, table[e]]) + else: + choice.append([aliases, table[e]]) break + if not choice and debugchoice: + choice = debugchoice + if len(choice) > 1: clist = [] for aliases, table_e in choice: