diff options
author | Steven Knight <knight@baldmt.com> | 2010-03-04 02:16:32 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2010-03-04 02:16:32 (GMT) |
commit | 1b399b87a54a7898e303c2c42785bc11bceada59 (patch) | |
tree | e074681c742958688517946f855a8fa11fe7288b /bin | |
parent | 2af231cac62af5ff445e217b8cf35770f64af588 (diff) | |
download | SCons-1b399b87a54a7898e303c2c42785bc11bceada59.zip SCons-1b399b87a54a7898e303c2c42785bc11bceada59.tar.gz SCons-1b399b87a54a7898e303c2c42785bc11bceada59.tar.bz2 |
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 <variablelist> lists.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/SConsDoc.py | 13 | ||||
-rw-r--r-- | bin/scons-proc.py | 10 |
2 files changed, 18 insertions, 5 deletions
diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py index 72d8c1c..cd78195 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 b6c59d6..41ff09a 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, '<para>\n', '') body = string.replace(body, '<para>', '\n') body = string.replace(body, '</para>\n', '') - body = re.sub('\.EE\n\n+(?!\.IP)', '.EE\n.IP\n', body) + + body = string.replace(body, '<variablelist>\n', '.RS 10\n') + body = re.compile(r'<varlistentry>\n<term>([^<]*)</term>\n<listitem>\n').sub(r'.HP 6\n.B \1\n', body) + body = string.replace(body, '</listitem>\n', '') + body = string.replace(body, '</varlistentry>\n', '') + body = string.replace(body, '</variablelist>\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') |