Make completion for debugindex<tab><tab> show debugindexdot, too.
authorThomas Arendsen Hein <thomas@intevation.de>
Wed, 05 Apr 2006 19:07:50 +0200
changeset 2049 f70952384ae7
parent 2048 8f9660c568b8
child 2050 e49d0fa38176
Make completion for debugindex<tab><tab> show debugindexdot, too. The special handling for commands with names that are substrings of other commands (e.g. with st and strip) wasn't used with debug commands before.
mercurial/commands.py
--- a/mercurial/commands.py	Wed Apr 05 15:39:48 2006 +0200
+++ b/mercurial/commands.py	Wed Apr 05 19:07:50 2006 +0200
@@ -3154,22 +3154,26 @@
 def findpossible(cmd):
     """
     Return cmd -> (aliases, command table entry)
-    for each matching command
+    for each matching command.
+    Return debug commands (or their aliases) only if no normal command matches.
     """
     choice = {}
     debugchoice = {}
     for e in table.keys():
         aliases = e.lstrip("^").split("|")
+        found = None
         if cmd in aliases:
-            choice[cmd] = (aliases, table[e])
-            continue
-        for a in aliases:
-            if a.startswith(cmd):
-                if aliases[0].startswith("debug"):
-                    debugchoice[a] = (aliases, table[e])
-                else:
-                    choice[a] = (aliases, table[e])
-                break
+            found = cmd
+        else:
+            for a in aliases:
+                if a.startswith(cmd):
+                    found = a
+                    break
+        if found is not None:
+            if aliases[0].startswith("debug"):
+                debugchoice[found] = (aliases, table[e])
+            else:
+                choice[found] = (aliases, table[e])
 
     if not choice and debugchoice:
         choice = debugchoice