changeset 3323:399c04369a1b

fix bash completion of debug commands; add test for debugcomplete The debugconfig -> showconfig renaming broke things.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 08 Oct 2006 20:27:23 -0300
parents 0b5d626b354e
children 80654c248793
files mercurial/commands.py tests/test-debugcomplete tests/test-debugcomplete.out
diffstat 3 files changed, 190 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Sat Oct 07 15:16:47 2006 -0400
+++ b/mercurial/commands.py	Sun Oct 08 20:27:23 2006 -0300
@@ -3137,7 +3137,7 @@
                     found = a
                     break
         if found is not None:
-            if aliases[0].startswith("debug"):
+            if aliases[0].startswith("debug") or found.startswith("debug"):
                 debugchoice[found] = (aliases, table[e])
             else:
                 choice[found] = (aliases, table[e])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-debugcomplete	Sun Oct 08 20:27:23 2006 -0300
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+echo '% Show all commands except debug commands'
+hg debugcomplete
+
+echo
+echo '% Show all commands that start with "a"'
+hg debugcomplete a
+
+echo
+echo '% Do not show debug commands if there are other candidates'
+hg debugcomplete d
+
+echo
+echo '% Show debug commands if there are no other candidates'
+hg debugcomplete debug
+
+echo
+echo '% Do not show the alias of a debug command if there are other candidates'
+echo '% (this should hide rawcommit)'
+hg debugcomplete r
+
+echo
+echo '% Show the alias of a debug command if there are no other candidates'
+hg debugcomplete rawc
+
+echo
+echo '% Show the global options'
+hg debugcomplete --options | sort
+
+echo
+echo '% Show the options for the "serve" command'
+hg debugcomplete --options serve | sort
+
+echo
+echo '% Show an error if we use --options with an ambiguous abbreviation'
+hg debugcomplete --options s
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-debugcomplete.out	Sun Oct 08 20:27:23 2006 -0300
@@ -0,0 +1,150 @@
+% Show all commands except debug commands
+add
+addremove
+annotate
+archive
+backout
+bundle
+cat
+clone
+commit
+copy
+diff
+export
+grep
+heads
+help
+identify
+import
+incoming
+init
+locate
+log
+manifest
+merge
+outgoing
+parents
+paths
+pull
+push
+recover
+remove
+rename
+revert
+rollback
+root
+serve
+showconfig
+status
+tag
+tags
+tip
+unbundle
+update
+verify
+version
+
+% Show all commands that start with "a"
+add
+addremove
+annotate
+archive
+
+% Do not show debug commands if there are other candidates
+diff
+
+% Show debug commands if there are no other candidates
+debugancestor
+debugcheckstate
+debugcomplete
+debugconfig
+debugdata
+debugforget
+debugindex
+debugindexdot
+debugrawcommit
+debugrebuildstate
+debugrename
+debugsetparents
+debugstate
+debugundo
+debugwalk
+
+% Do not show the alias of a debug command if there are other candidates
+% (this should hide rawcommit)
+recover
+remove
+rename
+revert
+rollback
+root
+
+% Show the alias of a debug command if there are no other candidates
+rawcommit
+
+% Show the global options
+--config
+--cwd
+--debug
+--debugger
+--help
+--lsprof
+--noninteractive
+--profile
+--quiet
+--repository
+--time
+--traceback
+--verbose
+--version
+-R
+-h
+-q
+-v
+-y
+
+% Show the options for the "serve" command
+--accesslog
+--address
+--config
+--cwd
+--daemon
+--daemon-pipefds
+--debug
+--debugger
+--errorlog
+--help
+--ipv6
+--lsprof
+--name
+--noninteractive
+--pid-file
+--port
+--profile
+--quiet
+--repository
+--stdio
+--style
+--templates
+--time
+--traceback
+--verbose
+--version
+--webdir-conf
+-6
+-A
+-E
+-R
+-a
+-d
+-h
+-n
+-p
+-q
+-t
+-v
+-y
+
+% Show an error if we use --options with an ambiguous abbreviation
+hg: command 's' is ambiguous:
+    serve showconfig status