mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
help: pass around ui to doc loader (API)
This is necessary to hide DEPRECATED items conditionally. Flagged as API change because it will break "hg help git|subversion".
This commit is contained in:
parent
958a6389af
commit
2f746aa9d3
@ -79,7 +79,7 @@ def checkhghelps(ui):
|
||||
errorcnt = 0
|
||||
for names, sec, doc in helptable:
|
||||
if callable(doc):
|
||||
doc = doc()
|
||||
doc = doc(ui)
|
||||
errorcnt += checkseclevel(ui, doc,
|
||||
'%s help topic' % names[0],
|
||||
initlevel_topic)
|
||||
|
@ -138,7 +138,7 @@ def helpprinter(ui, helptable, sectionfunc, include=[], exclude=[]):
|
||||
if sectionfunc:
|
||||
ui.write(sectionfunc(sec))
|
||||
if callable(doc):
|
||||
doc = doc()
|
||||
doc = doc(ui)
|
||||
ui.write(doc)
|
||||
ui.write("\n")
|
||||
|
||||
|
@ -34,8 +34,8 @@ def listexts(header, exts, indent=1, showdeprecated=False):
|
||||
rst.append('%s:%s: %s\n' % (' ' * indent, name, desc))
|
||||
return rst
|
||||
|
||||
def extshelp():
|
||||
rst = loaddoc('extensions')().splitlines(True)
|
||||
def extshelp(ui):
|
||||
rst = loaddoc('extensions')(ui).splitlines(True)
|
||||
rst.extend(listexts(
|
||||
_('enabled extensions:'), extensions.enabled(), showdeprecated=True))
|
||||
rst.extend(listexts(_('disabled extensions:'), extensions.disabled()))
|
||||
@ -83,7 +83,7 @@ def indicateomitted(rst, omitted, notomitted=None):
|
||||
if notomitted:
|
||||
rst.append('\n\n.. container:: notomitted\n\n %s\n\n' % notomitted)
|
||||
|
||||
def topicmatch(kw):
|
||||
def topicmatch(ui, kw):
|
||||
"""Return help topics matching kw.
|
||||
|
||||
Returns {'section': [(name, summary), ...], ...} where section is
|
||||
@ -101,7 +101,7 @@ def topicmatch(kw):
|
||||
# Old extensions may use a str as doc.
|
||||
if (sum(map(lowercontains, names))
|
||||
or lowercontains(header)
|
||||
or (callable(doc) and lowercontains(doc()))):
|
||||
or (callable(doc) and lowercontains(doc(ui)))):
|
||||
results['topics'].append((names[0], header))
|
||||
import commands # avoid cycle
|
||||
for cmd, entry in commands.table.iteritems():
|
||||
@ -139,7 +139,7 @@ def topicmatch(kw):
|
||||
def loaddoc(topic):
|
||||
"""Return a delayed loader for help/topic.txt."""
|
||||
|
||||
def loader():
|
||||
def loader(ui):
|
||||
docdir = os.path.join(util.datapath, 'help')
|
||||
path = os.path.join(docdir, topic + ".txt")
|
||||
doc = gettext(util.readfile(path))
|
||||
@ -415,7 +415,7 @@ def help_(ui, name, unknowncmd=False, full=True, **opts):
|
||||
if not doc:
|
||||
rst.append(" %s\n" % _("(no help text available)"))
|
||||
if callable(doc):
|
||||
rst += [" %s\n" % l for l in doc().splitlines()]
|
||||
rst += [" %s\n" % l for l in doc(ui).splitlines()]
|
||||
|
||||
if not ui.verbose:
|
||||
omitted = _('(some details hidden, use --verbose'
|
||||
@ -482,7 +482,7 @@ def help_(ui, name, unknowncmd=False, full=True, **opts):
|
||||
rst = []
|
||||
kw = opts.get('keyword')
|
||||
if kw:
|
||||
matches = topicmatch(name)
|
||||
matches = topicmatch(ui, name)
|
||||
helpareas = []
|
||||
if opts.get('extension'):
|
||||
helpareas += [('extensions', _('Extensions'))]
|
||||
|
@ -1105,7 +1105,7 @@ Test omit indicating for help
|
||||
> def extsetup(ui):
|
||||
> help.helptable.append((["topic-containing-verbose"],
|
||||
> "This is the topic to test omit indicating.",
|
||||
> lambda : testtopic))
|
||||
> lambda ui: testtopic))
|
||||
> EOF
|
||||
$ echo '[extensions]' >> $HGRCPATH
|
||||
$ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
|
||||
|
Loading…
Reference in New Issue
Block a user