mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
help: consolidate topic hooks in help.py
This removes loops like cmdutil->revset->help->extensions->cmdutil and simplifies the code.
This commit is contained in:
parent
9fd29f01e9
commit
1d5abac148
@ -13,7 +13,7 @@ import hg, scmutil, util, revlog, extensions, copies, error, bookmarks
|
||||
import patch, help, url, encoding, templatekw, discovery
|
||||
import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server
|
||||
import merge as mergemod
|
||||
import minirst, revset, templatefilters
|
||||
import minirst, revset
|
||||
import dagparser, context, simplemerge
|
||||
import random, setdiscovery, treediscovery, dagutil
|
||||
|
||||
@ -2758,10 +2758,6 @@ def help_(ui, name=None, with_version=False, unknowncmd=False, full=True, **opts
|
||||
ui.write(_('use "hg help extensions" for information on enabling '
|
||||
'extensions\n'))
|
||||
|
||||
help.addtopichook('revsets', revset.makedoc)
|
||||
help.addtopichook('templates', templatekw.makedoc)
|
||||
help.addtopichook('templates', templatefilters.makedoc)
|
||||
|
||||
if name and name != 'shortlist':
|
||||
i = None
|
||||
if unknowncmd:
|
||||
|
@ -248,7 +248,7 @@ def _disabledhelp(path):
|
||||
except IOError:
|
||||
return
|
||||
else:
|
||||
doc = moduledoc(file)
|
||||
doc = _moduledoc(file)
|
||||
file.close()
|
||||
|
||||
if doc: # extracting localized synopsis
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
from i18n import gettext, _
|
||||
import sys, os
|
||||
import extensions
|
||||
import extensions, revset, templatekw, templatefilters
|
||||
import util
|
||||
|
||||
def listexts(header, exts, indent=1):
|
||||
@ -76,8 +76,7 @@ helptable = sorted([
|
||||
|
||||
# Map topics to lists of callable taking the current topic help and
|
||||
# returning the updated version
|
||||
helphooks = {
|
||||
}
|
||||
helphooks = {}
|
||||
|
||||
def addtopichook(topic, rewriter):
|
||||
helphooks.setdefault(topic, []).append(rewriter)
|
||||
@ -97,3 +96,12 @@ def makeitemsdoc(topic, doc, marker, items):
|
||||
entries.append('\n'.join(lines))
|
||||
entries = '\n\n'.join(entries)
|
||||
return doc.replace(marker, entries)
|
||||
|
||||
def addtopicsymbols(topic, marker, symbols):
|
||||
def add(topic, doc):
|
||||
return makeitemsdoc(topic, doc, marker, symbols)
|
||||
addtopichook(topic, add)
|
||||
|
||||
addtopicsymbols('revsets', '.. predicatesmarker', revset.symbols)
|
||||
addtopicsymbols('templates', '.. keywordsmarker', templatekw.keywords)
|
||||
addtopicsymbols('templates', '.. filtersmarker', templatefilters.filters)
|
||||
|
@ -6,7 +6,7 @@
|
||||
# GNU General Public License version 2 or any later version.
|
||||
|
||||
import re
|
||||
import parser, util, error, discovery, help, hbisect
|
||||
import parser, util, error, discovery, hbisect
|
||||
import bookmarks as bookmarksmod
|
||||
import match as matchmod
|
||||
from i18n import _
|
||||
@ -981,8 +981,5 @@ def match(ui, spec):
|
||||
return getset(repo, subset, tree)
|
||||
return mfunc
|
||||
|
||||
def makedoc(topic, doc):
|
||||
return help.makeitemsdoc(topic, doc, '.. predicatesmarker', symbols)
|
||||
|
||||
# tell hggettext to extract docstrings from these functions:
|
||||
i18nfunctions = symbols.values()
|
||||
|
@ -6,7 +6,7 @@
|
||||
# GNU General Public License version 2 or any later version.
|
||||
|
||||
import cgi, re, os, time, urllib
|
||||
import encoding, node, util, help
|
||||
import encoding, node, util
|
||||
|
||||
def addbreaks(text):
|
||||
""":addbreaks: Any text. Add an XHTML "<br />" tag before the end of
|
||||
@ -358,8 +358,5 @@ filters = {
|
||||
"xmlescape": xmlescape,
|
||||
}
|
||||
|
||||
def makedoc(topic, doc):
|
||||
return help.makeitemsdoc(topic, doc, '.. filtersmarker', filters)
|
||||
|
||||
# tell hggettext to extract docstrings from these functions:
|
||||
i18nfunctions = filters.values()
|
||||
|
@ -6,7 +6,7 @@
|
||||
# GNU General Public License version 2 or any later version.
|
||||
|
||||
from node import hex
|
||||
import patch, util, error, help
|
||||
import patch, util, error
|
||||
|
||||
def showlist(name, values, plural=None, **args):
|
||||
'''expand set of values.
|
||||
@ -313,8 +313,5 @@ keywords = {
|
||||
'tags': showtags,
|
||||
}
|
||||
|
||||
def makedoc(topic, doc):
|
||||
return help.makeitemsdoc(topic, doc, '.. keywordsmarker', keywords)
|
||||
|
||||
# tell hggettext to extract docstrings from these functions:
|
||||
i18nfunctions = keywords.values()
|
||||
|
Loading…
Reference in New Issue
Block a user