summaryrefslogtreecommitdiff
path: root/doc/build/lib/highlight.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-09-20 03:43:21 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-09-20 03:43:21 +0000
commit733dd5590bfac0c44e4cf71d367b9ffb787c113f (patch)
tree96c134fac722b8198f2c5b26f90c8a38a2ffcc6d /doc/build/lib/highlight.py
parent52d6ba4a017ba79e113b1df7f1903caebc321fdf (diff)
downloadsqlalchemy-733dd5590bfac0c44e4cf71d367b9ffb787c113f.tar.gz
Diffstat (limited to 'doc/build/lib/highlight.py')
-rw-r--r--doc/build/lib/highlight.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/doc/build/lib/highlight.py b/doc/build/lib/highlight.py
index d70848831..50285960e 100644
--- a/doc/build/lib/highlight.py
+++ b/doc/build/lib/highlight.py
@@ -94,7 +94,7 @@ def html_escape(string):
#return "@" + re.sub(r"([&<>])", lambda m: html_escapes[m.group()], string) + "+"
return re.sub(r"([&<>])", lambda m: html_escapes[m.group()], string)
-def highlight(source, filename = None, syntaxtype = None):
+def highlight(source, filename = None, syntaxtype = None, html_escape = True):
if syntaxtype is not None:
highlighter = highlighters.get(syntaxtype, None)
elif filename is not None:
@@ -107,15 +107,19 @@ def highlight(source, filename = None, syntaxtype = None):
highlighter = None
if highlighter is None:
- return html_escape(source)
+ if html_escape:
+ return html_escape(source)
+ else:
+ return source
else:
- return highlighter(source).highlight()
+ return highlighter(source, html_escape = html_escape).highlight()
class Highlighter:
- def __init__(self, source, output = None):
+ def __init__(self, source, output = None, html_escape = True):
self.source = source
self.pos = 0
-
+ self.html_escape = html_escape
+
if output is None:
self.output = StringIO.StringIO()
else:
@@ -130,9 +134,15 @@ class Highlighter:
def colorize(self, tokens):
for pair in tokens:
if pair[1] is None:
- self.output.write(html_escape(pair[0]))
+ if self.html_escape:
+ self.output.write(html_escape(pair[0]))
+ else:
+ self.output.write(pair[0])
else:
- self.output.write('<span class="%s">%s</span>' % (pair[1], html_escape(pair[0])))
+ if self.html_escape:
+ self.output.write('<span class="%s">%s</span>' % (pair[1], html_escape(pair[0])))
+ else:
+ self.output.write('<span class="%s">%s</span>' % (pair[1], pair[0]))
class PythonHighlighter(Highlighter):