view doc/runrst @ 11548:dd2f356e1f6f

inotify: Better implementation of the event string representation. This patch reimplements the event_repr function. It got mostly rewritten to eliminate the need for conditional compilation of the module when building in py3k. The trick there (thanks to Antoine Pitrou) is to use the % operator to let the python interpreter format the string to be returned.
author Renato Cunha <renatoc@gmail.com>
date Fri, 02 Jul 2010 16:21:46 -0300
parents 854ac04d712c
children 13d79a7bf5b7
line wrap: on
line source

#!/usr/bin/env python
#
# runrst - register custom roles and run correct writer
#
# Copyright 2010 Matt Mackall <mpm@selenic.com> and others
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

"""usage: %s WRITER args...

where WRITER is the name of a Docutils writer such as 'html' or 'manpage'
"""

import sys
from docutils.parsers.rst import roles
from docutils.core import publish_cmdline
from docutils import nodes, utils

def role_hg(name, rawtext, text, lineno, inliner,
            options={}, content=[]):
    text = "hg " + utils.unescape(text)
    linktext = nodes.literal(rawtext, text)
    parts = text.split()
    cmd, args = parts[1], parts[2:]
    if cmd == 'help' and args:
        cmd = args[0] # link to 'dates' for 'hg help dates'
    node = nodes.reference(rawtext, '', linktext,
                           refuri="hg.1.html#%s" % cmd)
    return [node], []

roles.register_local_role("hg", role_hg)

if __name__ == "__main__":
    if len(sys.argv) < 2:
        sys.stderr.write(__doc__ % sys.argv[0])
        sys.exit(1)

    writer = sys.argv[1]
    del sys.argv[1]

    publish_cmdline(writer_name=writer)