mercurial/revset.py
changeset 13593 cc4721ed7a2a
parent 13506 117990768fe0
child 13602 54b198fe9768
equal deleted inserted replaced
13592:ad2ee188f4a5 13593:cc4721ed7a2a
     4 #
     4 #
     5 # This software may be used and distributed according to the terms of the
     5 # This software may be used and distributed according to the terms of the
     6 # GNU General Public License version 2 or any later version.
     6 # GNU General Public License version 2 or any later version.
     7 
     7 
     8 import re
     8 import re
     9 import parser, util, error, discovery
     9 import parser, util, error, discovery, help
    10 import bookmarks as bookmarksmod
    10 import bookmarks as bookmarksmod
    11 import match as matchmod
    11 import match as matchmod
    12 from i18n import _, gettext
    12 from i18n import _
    13 
    13 
    14 elements = {
    14 elements = {
    15     "(": (20, ("group", 1, ")"), ("func", 1, ")")),
    15     "(": (20, ("group", 1, ")"), ("func", 1, ")")),
    16     "-": (5, ("negate", 19), ("minus", 5)),
    16     "-": (5, ("negate", 19), ("minus", 5)),
    17     "::": (17, ("dagrangepre", 17), ("dagrange", 17),
    17     "::": (17, ("dagrangepre", 17), ("dagrange", 17),
   813     def mfunc(repo, subset):
   813     def mfunc(repo, subset):
   814         return getset(repo, subset, tree)
   814         return getset(repo, subset, tree)
   815     return mfunc
   815     return mfunc
   816 
   816 
   817 def makedoc(topic, doc):
   817 def makedoc(topic, doc):
   818     """Generate and include predicates help in revsets topic."""
   818     return help.makeitemsdoc(topic, doc, '.. predicatesmarker', symbols)
   819     predicates = []
       
   820     for name in sorted(symbols):
       
   821         text = symbols[name].__doc__
       
   822         if not text:
       
   823             continue
       
   824         text = gettext(text.rstrip())
       
   825         lines = text.splitlines()
       
   826         lines[1:] = [('  ' + l.strip()) for l in lines[1:]]
       
   827         predicates.append('\n'.join(lines))
       
   828     predicates = '\n\n'.join(predicates)
       
   829     doc = doc.replace('.. predicatesmarker', predicates)
       
   830     return doc
       
   831 
   819 
   832 # tell hggettext to extract docstrings from these functions:
   820 # tell hggettext to extract docstrings from these functions:
   833 i18nfunctions = symbols.values()
   821 i18nfunctions = symbols.values()