diff options
author | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
commit | a73a964e51247ed169d322c725a3a18859f109a3 (patch) | |
tree | 3f752d117274d444bda44e85609aeac1acf313f3 /sys/src/cmd/hg/doc/gendoc.py | |
parent | e64efe273fcb921a61bf27d33b230c4e64fcd425 (diff) |
python, hg: tow outside the environment.
they've served us well, and can ride off into the sunset.
Diffstat (limited to 'sys/src/cmd/hg/doc/gendoc.py')
-rw-r--r-- | sys/src/cmd/hg/doc/gendoc.py | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/sys/src/cmd/hg/doc/gendoc.py b/sys/src/cmd/hg/doc/gendoc.py deleted file mode 100644 index c0b0ec452..000000000 --- a/sys/src/cmd/hg/doc/gendoc.py +++ /dev/null @@ -1,115 +0,0 @@ -import os, sys, textwrap -# import from the live mercurial repo -sys.path.insert(0, "..") -# fall back to pure modules if required C extensions are not available -sys.path.append(os.path.join('..', 'mercurial', 'pure')) -from mercurial import demandimport; demandimport.enable() -from mercurial.commands import table, globalopts -from mercurial.i18n import _ -from mercurial.help import helptable - -def get_desc(docstr): - if not docstr: - return "", "" - # sanitize - docstr = docstr.strip("\n") - docstr = docstr.rstrip() - shortdesc = docstr.splitlines()[0].strip() - - i = docstr.find("\n") - if i != -1: - desc = docstr[i+2:] - else: - desc = " %s" % shortdesc - return (shortdesc, desc) - -def get_opts(opts): - for shortopt, longopt, default, desc in opts: - allopts = [] - if shortopt: - allopts.append("-%s" % shortopt) - if longopt: - allopts.append("--%s" % longopt) - desc += default and _(" (default: %s)") % default or "" - yield(", ".join(allopts), desc) - -def get_cmd(cmd): - d = {} - attr = table[cmd] - cmds = cmd.lstrip("^").split("|") - - d['cmd'] = cmds[0] - d['aliases'] = cmd.split("|")[1:] - d['desc'] = get_desc(attr[0].__doc__) - d['opts'] = list(get_opts(attr[1])) - - s = 'hg ' + cmds[0] - if len(attr) > 2: - if not attr[2].startswith('hg'): - s += ' ' + attr[2] - else: - s = attr[2] - d['synopsis'] = s - - return d - -def show_doc(ui): - def section(s): - ui.write("%s\n%s\n\n" % (s, "-" * len(s))) - def subsection(s): - ui.write("%s\n%s\n\n" % (s, '"' * len(s))) - - # print options - section(_("OPTIONS")) - for optstr, desc in get_opts(globalopts): - ui.write("%s\n %s\n\n" % (optstr, desc)) - - # print cmds - section(_("COMMANDS")) - h = {} - for c, attr in table.items(): - f = c.split("|")[0] - f = f.lstrip("^") - h[f] = c - cmds = h.keys() - cmds.sort() - - for f in cmds: - if f.startswith("debug"): continue - d = get_cmd(h[f]) - # synopsis - ui.write(".. _%s:\n\n" % d['cmd']) - ui.write("``%s``\n" % d['synopsis'].replace("hg ","", 1)) - # description - ui.write("%s\n\n" % d['desc'][1]) - # options - opt_output = list(d['opts']) - if opt_output: - opts_len = max([len(line[0]) for line in opt_output]) - ui.write(_(" options:\n\n")) - for optstr, desc in opt_output: - if desc: - s = "%-*s %s" % (opts_len, optstr, desc) - else: - s = optstr - s = textwrap.fill(s, initial_indent=4 * " ", - subsequent_indent=(6 + opts_len) * " ") - ui.write("%s\n" % s) - ui.write("\n") - # aliases - if d['aliases']: - ui.write(_(" aliases: %s\n\n") % " ".join(d['aliases'])) - - # print topics - for names, sec, doc in helptable: - for name in names: - ui.write(".. _%s:\n" % name) - ui.write("\n") - section(sec.upper()) - if callable(doc): - doc = doc() - ui.write(doc) - ui.write("\n") - -if __name__ == "__main__": - show_doc(sys.stdout) |