From: stevenknight Date: Thu, 4 Mar 2010 02:16:32 +0000 (+0000) Subject: More enhancements for documenting functions: X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=69aa78df8fe4c69c49a27e9756f7b9e023c55c02;p=scons.git More enhancements for documenting functions: * Add the support for global="0" and env="0" to SConsDoc.py. * Remove unnecessary .IP lines before '\""" delimiters before the next builder / tool / function entry. * Add support for lists. git-svn-id: http://scons.tigris.org/svn/scons/trunk@4690 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py index 72d8c1cf..cd78195a 100644 --- a/bin/SConsDoc.py +++ b/bin/SConsDoc.py @@ -114,7 +114,7 @@ import re import sys import xml.sax.handler -class Item: +class Item(object): def __init__(self, name): self.name = name self.sort_name = name.lower() @@ -134,7 +134,10 @@ class Builder(Item): pass class Function(Item): - pass + def __init__(self, name, global_signature, env_signature): + super(Function, self).__init__(name) + self.global_signature = global_signature + self.env_signature = env_signature class Tool(Item): def __init__(self, name): @@ -164,7 +167,7 @@ class Arguments: def __str__(self): s = ''.join(self.body).strip() result = [] - for m in re.findall('([a-zA-Z_]+|[^a-zA-Z_]+)', s): + for m in re.findall('([a-zA-Z/_]+|[^a-zA-Z/_]+)', s): if ' ' in m: m = '"%s"' % m result.append(m) @@ -296,7 +299,9 @@ class SConsDocHandler(xml.sax.handler.ContentHandler, try: function = self.functions[name] except KeyError: - function = Function(name) + function = Function(name, + attrs.get('global', "1"), + attrs.get('env', "1")) self.functions[name] = function self.begin_xxx(function) def end_scons_function(self): diff --git a/bin/scons-proc.py b/bin/scons-proc.py index b6c59d65..41ff09a5 100644 --- a/bin/scons-proc.py +++ b/bin/scons-proc.py @@ -209,7 +209,15 @@ class SCons_XML_to_man(SCons_XML): body = string.replace(body, '\n', '') body = string.replace(body, '', '\n') body = string.replace(body, '\n', '') - body = re.sub('\.EE\n\n+(?!\.IP)', '.EE\n.IP\n', body) + + body = string.replace(body, '\n', '.RS 10\n') + body = re.compile(r'\n([^<]*)\n\n').sub(r'.HP 6\n.B \1\n', body) + body = string.replace(body, '\n', '') + body = string.replace(body, '\n', '') + body = string.replace(body, '\n', '.RE\n') + + body = re.sub(r'\.EE\n\n+(?!\.IP)', '.EE\n.IP\n', body) + body = string.replace(body, '\n.IP\n\'\\"', '\n\n\'\\"') body = re.sub('&(scons|SConstruct|SConscript|jar);', r'\\fB\1\\fP', body) body = string.replace(body, '&Dir;', r'\fBDir\fP') body = string.replace(body, '⌖', r'\fItarget\fP')