Commit d4c7e636 authored by Georg Brandl's avatar Georg Brandl

Move opcode handling to Python's extension.

parent f9efabb6
......@@ -85,6 +85,28 @@ class PydocTopicsBuilder(Builder):
f.close()
# Support for documenting Opcodes
import re
from sphinx import addnodes
opcode_sig_re = re.compile(r'(\w+(?:\+\d)?)\s*\((.*)\)')
def parse_opcode_signature(env, sig, signode):
"""Transform an opcode signature into RST nodes."""
m = opcode_sig_re.match(sig)
if m is None:
raise ValueError
opname, arglist = m.groups()
signode += addnodes.desc_name(opname, opname)
paramlist = addnodes.desc_parameterlist()
signode += paramlist
paramlist += addnodes.desc_parameter(arglist, arglist)
return opname.strip()
def setup(app):
app.add_role('issue', issue_role)
app.add_builder(PydocTopicsBuilder)
app.add_description_unit('opcode', 'opcode', '%s (opcode)',
parse_opcode_signature)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment