1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
"""Adds a new directive signal for GObject signals"""
import re
from sphinx import addnodes
signal_re = re.compile(r"([a-zA-Z-]+)\s->(.*)")
def parse_signal(env, sig, signode):
match = signal_re.match(sig)
if not match:
signode += addnodes.desc_name(sig, sig)
return sig
name, args = match.groups()
signode += addnodes.desc_name(name, name)
signode += addnodes.desc_returns(args.strip(), args.strip())
return name
def setup(app):
app.add_description_unit("signal", "sig", "pair: %s; signal", parse_signal)
|