Mercurial > hg
changeset 6654:2713e42dcf4e
help: helptable is an ordered collection
The helptable is used for helptopics listed in the manual
page, so the order of topics should not be random.
Convert it from a dictionary into a tuple of tuples.
Also reorder helptable entries to keep previous manual
page order.
author | Johannes Stezenbach <js@sig21.net> |
---|---|
date | Tue, 03 Jun 2008 21:03:51 +0200 |
parents | a78d8edaeedd |
children | ab798a37b846 |
files | doc/gendoc.py mercurial/commands.py mercurial/help.py |
diffstat | 3 files changed, 56 insertions(+), 57 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/gendoc.py Tue Jun 03 20:56:54 2008 +0200 +++ b/doc/gendoc.py Tue Jun 03 21:03:51 2008 +0200 @@ -92,11 +92,10 @@ ui.write(_(" aliases: %s\n\n") % " ".join(d['aliases'])) # print topics - for t in helptable: + for t, doc in helptable: l = t.split("|") section = l[-1] underlined(_(section).upper()) - doc = helptable[t] if callable(doc): doc = doc() ui.write(_(doc))
--- a/mercurial/commands.py Tue Jun 03 20:56:54 2008 +0200 +++ b/mercurial/commands.py Tue Jun 03 21:03:51 2008 +0200 @@ -1321,16 +1321,16 @@ def helptopic(name): v = None - for i in help.helptable: + for i, d in help.helptable: l = i.split('|') if name in l: v = i header = l[-1] + doc = d if not v: raise cmdutil.UnknownCommand(name) # description - doc = help.helptable[v] if not doc: doc = _("(No help text available)") if callable(doc): @@ -1404,7 +1404,7 @@ if ui.verbose: ui.write(_("\nspecial help topics:\n")) topics = [] - for i in help.helptable: + for i, d in help.helptable: l = i.split('|') topics.append((", ".join(l[:-1]), l[-1])) topics_len = max([len(s[0]) for s in topics])
--- a/mercurial/help.py Tue Jun 03 20:56:54 2008 +0200 +++ b/mercurial/help.py Tue Jun 03 21:03:51 2008 +0200 @@ -5,8 +5,8 @@ # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. -helptable = { - "dates|Date Formats": +helptable = ( + ("dates|Date Formats", r''' Some commands allow the user to specify a date: backout, commit, import, tag: Specify the commit date. @@ -43,9 +43,55 @@ ">{date}" - on or after a given date "{date} to {date}" - a date range, inclusive "-{days}" - within a given number of days of today - ''', + '''), + + ("patterns|File Name Patterns", + r''' + Mercurial accepts several notations for identifying one or more + files at a time. + + By default, Mercurial treats filenames as shell-style extended + glob patterns. + + Alternate pattern notations must be specified explicitly. + + To use a plain path name without any pattern matching, start a + name with "path:". These path names must match completely, from + the root of the current repository. + + To use an extended glob, start a name with "glob:". Globs are + rooted at the current directory; a glob such as "*.c" will match + files ending in ".c" in the current directory only. + + The supported glob syntax extensions are "**" to match any string + across path separators, and "{a,b}" to mean "a or b". - 'environment|env|Environment Variables': + To use a Perl/Python regular expression, start a name with "re:". + Regexp pattern matching is anchored at the root of the repository. + + Plain examples: + + path:foo/bar a name bar in a directory named foo in the root of + the repository + path:path:name a file or directory named "path:name" + + Glob examples: + + glob:*.c any name ending in ".c" in the current directory + *.c any name ending in ".c" in the current directory + **.c any name ending in ".c" in the current directory, or + any subdirectory + foo/*.c any name ending in ".c" in the directory foo + foo/**.c any name ending in ".c" in the directory foo, or any + subdirectory + + Regexp examples: + + re:.*\.c$ any name ending in ".c", anywhere in the repository + + '''), + + ('environment|env|Environment Variables', r''' HG:: Path to the 'hg' executable, automatically passed when running hooks, @@ -114,51 +160,5 @@ PYTHONPATH:: This is used by Python to find imported modules and may need to be set appropriately if Mercurial is not installed system-wide. - ''', - - "patterns|File Name Patterns": r''' - Mercurial accepts several notations for identifying one or more - files at a time. - - By default, Mercurial treats filenames as shell-style extended - glob patterns. - - Alternate pattern notations must be specified explicitly. - - To use a plain path name without any pattern matching, start a - name with "path:". These path names must match completely, from - the root of the current repository. - - To use an extended glob, start a name with "glob:". Globs are - rooted at the current directory; a glob such as "*.c" will match - files ending in ".c" in the current directory only. - - The supported glob syntax extensions are "**" to match any string - across path separators, and "{a,b}" to mean "a or b". - - To use a Perl/Python regular expression, start a name with "re:". - Regexp pattern matching is anchored at the root of the repository. - - Plain examples: - - path:foo/bar a name bar in a directory named foo in the root of - the repository - path:path:name a file or directory named "path:name" - - Glob examples: - - glob:*.c any name ending in ".c" in the current directory - *.c any name ending in ".c" in the current directory - **.c any name ending in ".c" in the current directory, or - any subdirectory - foo/*.c any name ending in ".c" in the directory foo - foo/**.c any name ending in ".c" in the directory foo, or any - subdirectory - - Regexp examples: - - re:.*\.c$ any name ending in ".c", anywhere in the repository - -''', -} - + '''), +)