changeset 7012:78341ea65d16

restructure helptable When looking up a help topic, the key is now only matched against the short names for each topic, and not the header. So hg help 'Environment Variables' must be replaced with hg help env
author Martin Geisler <mg@daimi.au.dk>
date Tue, 09 Sep 2008 21:32:39 +0200
parents 7da76778dbd7
children f56e788fa292
files doc/gendoc.py mercurial/commands.py mercurial/help.py
diffstat 3 files changed, 12 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/doc/gendoc.py	Tue Sep 09 14:43:12 2008 +0200
+++ b/doc/gendoc.py	Tue Sep 09 21:32:39 2008 +0200
@@ -92,9 +92,7 @@
             ui.write(_("    aliases: %s\n\n") % " ".join(d['aliases']))
 
     # print topics
-    for t, doc in helptable:
-        l = t.split("|")
-        section = l[-1]
+    for names, section, doc in helptable:
         underlined(_(section).upper())
         if callable(doc):
             doc = doc()
--- a/mercurial/commands.py	Tue Sep 09 14:43:12 2008 +0200
+++ b/mercurial/commands.py	Tue Sep 09 21:32:39 2008 +0200
@@ -1339,14 +1339,10 @@
             addglobalopts(True)
 
     def helptopic(name):
-        v = None
-        for i, d in help.helptable:
-            l = i.split('|')
-            if name in l:
-                v = i
-                header = l[-1]
-                doc = d
-        if not v:
+        for names, header, doc in help.helptable:
+            if name in names:
+                break
+        else:
             raise cmdutil.UnknownCommand(name)
 
         # description
@@ -1423,9 +1419,8 @@
     if ui.verbose:
         ui.write(_("\nspecial help topics:\n"))
         topics = []
-        for i, d in help.helptable:
-            l = i.split('|')
-            topics.append((", ".join(l[:-1]), l[-1]))
+        for names, header, doc in help.helptable:
+            topics.append((", ".join(names), header))
         topics_len = max([len(s[0]) for s in topics])
         for t, desc in topics:
             ui.write(" %-*s  %s\n" % (topics_len, t, desc))
--- a/mercurial/help.py	Tue Sep 09 14:43:12 2008 +0200
+++ b/mercurial/help.py	Tue Sep 09 21:32:39 2008 +0200
@@ -6,7 +6,7 @@
 # of the GNU General Public License, incorporated herein by reference.
 
 helptable = (
-    ("dates|Date Formats",
+    (["dates"], "Date Formats",
     r'''
     Some commands allow the user to specify a date:
     backout, commit, import, tag: Specify the commit date.
@@ -45,7 +45,7 @@
     "-{days}" - within a given number of days of today
     '''),
 
-    ("patterns|File Name Patterns",
+    (["patterns"], "File Name Patterns",
     r'''
     Mercurial accepts several notations for identifying one or more
     files at a time.
@@ -91,7 +91,7 @@
 
     '''),
 
-    ('environment|env|Environment Variables',
+    (['environment', 'env'], 'Environment Variables',
     r'''
 HG::
     Path to the 'hg' executable, automatically passed when running hooks,
@@ -162,7 +162,7 @@
     appropriately if Mercurial is not installed system-wide.
     '''),
 
-    ('revs|revisions|Specifying Single Revisions',
+    (['revs', 'revisions'], 'Specifying Single Revisions',
     r'''
     Mercurial accepts several notations for identifying individual
     revisions.
@@ -195,7 +195,7 @@
     the first parent.
     '''),
 
-    ('mrevs|multirevs|Specifying Multiple Revisions',
+    (['mrevs', 'multirevs'], 'Specifying Multiple Revisions',
     r'''
     When Mercurial accepts more than one revision, they may be
     specified individually, or provided as a continuous range,