comparison mercurial/help.py @ 44029:52f0140c2604

resourceutil: don't limit resources to the `mercurial` package This should make things a little clearer, in that it now requires the full package name to access a resource. But the real motivation is that `extensions._disabledpaths()` walks the `hgext` directory looking for bundled extensions. This in turn feeds, among other things: 1) Listing disabled extensions in `hg help extensions` 2) Indicating that an unknown command is in a non-enabled extension 3) Displaying help for non-enabled extensions 4) Generating documentation 5) Announcing LFS is auto-enabled (or not) when cloning from an LFS source The filesystem based ResourceReader will happily return *.py and *.pyc, but the one supplied by PyOxidizer doesn't. Presumably we can change that. The only other idea I had here is for setup.py to generate a text file containing the list of extensions, but that doesn't seem great when running from source. Differential Revision: https://phab.mercurial-scm.org/D7772
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 28 Dec 2019 23:35:13 -0500
parents 1390bb81163e
children 142d2a4cb69a
comparison
equal deleted inserted replaced
44028:44b03c0313aa 44029:52f0140c2604
311 311
312 def loaddoc(topic, subdir=None): 312 def loaddoc(topic, subdir=None):
313 """Return a delayed loader for help/topic.txt.""" 313 """Return a delayed loader for help/topic.txt."""
314 314
315 def loader(ui): 315 def loader(ui):
316 package = b'helptext' 316 package = b'mercurial.helptext'
317 if subdir: 317 if subdir:
318 package = b'helptext' + b'.' + subdir 318 package += b'.' + subdir
319 with resourceutil.open_resource(package, topic + b'.txt') as fp: 319 with resourceutil.open_resource(package, topic + b'.txt') as fp:
320 doc = gettext(fp.read()) 320 doc = gettext(fp.read())
321 for rewriter in helphooks.get(topic, []): 321 for rewriter in helphooks.get(topic, []):
322 doc = rewriter(ui, topic, doc) 322 doc = rewriter(ui, topic, doc)
323 return doc 323 return doc