From: <dku...@us...> - 2006-12-28 00:45:41
|
Author: dkuhlman Date: 2006-12-28 01:45:33 +0100 (Thu, 28 Dec 2006) New Revision: 4838 Modified: trunk/sandbox/dkuhlman/OpenDocument/README.txt trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.html trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.odt trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.txt trunk/sandbox/dkuhlman/OpenDocument/odtwriter/__init__.py Log: Added a Docutils directive which enables user (1) to turn syntax highlighting in literal code blocks on and off and (2) to specify which lexer (language) to use during syntax highlighing. Updated the documentation to describe the syntax highlighting directive. Modified: trunk/sandbox/dkuhlman/OpenDocument/README.txt =================================================================== --- trunk/sandbox/dkuhlman/OpenDocument/README.txt 2006-12-26 09:59:41 UTC (rev 4837) +++ trunk/sandbox/dkuhlman/OpenDocument/README.txt 2006-12-28 00:45:33 UTC (rev 4838) @@ -38,6 +38,17 @@ History ======= +2006/12/27 -- Version 1.0b +-------------------------- + +Added a Docutils directive which enables user (1) to turn syntax +highlighting in literal code blocks on and off and (2) to specify +which lexer (language) to use during syntax highlighing. + +Updated the documentation to describe the syntax highlighting +directive. + + 2006/12/22 -- Version 1.0b -------------------------- Modified: trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.html =================================================================== --- trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.html 2006-12-26 09:59:41 UTC (rev 4837) +++ trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.html 2006-12-28 00:45:33 UTC (rev 4838) @@ -6,7 +6,7 @@ <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" /> <title>Odtwriter for Docutils</title> <meta name="author" content="Dave Kuhlman" /> -<meta name="date" content="Dec. 19, 2006" /> +<meta name="date" content="Dec. 23, 2006" /> <meta name="copyright" content="Copyright (c) 2006 Dave Kuhlman. All Rights Reserved. This software is subject to the provisions of the MIT License http://www.opensource.org/licenses/mit-license.php." /> <style type="text/css"> @@ -193,7 +193,7 @@ <tr><th class="docinfo-name">Revision:</th> <td>1.0b</td></tr> <tr><th class="docinfo-name">Date:</th> -<td>Dec. 19, 2006</td></tr> +<td>Dec. 23, 2006</td></tr> <tr><th class="docinfo-name">Copyright:</th> <td>Copyright (c) 2006 Dave Kuhlman. All Rights Reserved. This software is subject to the provisions of the MIT License @@ -208,41 +208,68 @@ <p class="topic-title first"><a id="contents" name="contents">Contents</a></p> <ul class="auto-toc simple"> <li><a class="reference" href="#introduction" id="id1" name="id1">1 Introduction</a></li> -<li><a class="reference" href="#how-to-install-it" id="id2" name="id2">2 How to Install It</a></li> -<li><a class="reference" href="#how-to-use-it" id="id3" name="id3">3 How to Use It</a><ul class="auto-toc"> -<li><a class="reference" href="#command-line-flags" id="id4" name="id4">3.1 Command line flags</a></li> +<li><a class="reference" href="#how-to-install-it" id="id2" name="id2">2 How to Install It</a><ul class="auto-toc"> +<li><a class="reference" href="#where-to-get-it" id="id3" name="id3">2.1 Where to get it</a></li> +<li><a class="reference" href="#requirements" id="id4" name="id4">2.2 Requirements</a></li> +<li><a class="reference" href="#installation" id="id5" name="id5">2.3 Installation</a></li> </ul> </li> -<li><a class="reference" href="#styles" id="id5" name="id5">4 Styles</a><ul class="auto-toc"> -<li><a class="reference" href="#styles-used-by-odtwriter" id="id6" name="id6">4.1 Styles used by odtwriter</a><ul class="auto-toc"> -<li><a class="reference" href="#paragraph-styles" id="id7" name="id7">4.1.1 Paragraph styles</a></li> -<li><a class="reference" href="#character-styles" id="id8" name="id8">4.1.2 Character styles</a></li> +<li><a class="reference" href="#how-to-use-it" id="id6" name="id6">3 How to Use It</a><ul class="auto-toc"> +<li><a class="reference" href="#command-line-flags" id="id7" name="id7">3.1 Command line flags</a></li> </ul> </li> -<li><a class="reference" href="#table-styles" id="id9" name="id9">4.2 Table styles</a></li> +<li><a class="reference" href="#styles" id="id8" name="id8">4 Styles</a><ul class="auto-toc"> +<li><a class="reference" href="#styles-used-by-odtwriter" id="id9" name="id9">4.1 Styles used by odtwriter</a><ul class="auto-toc"> +<li><a class="reference" href="#paragraph-styles" id="id10" name="id10">4.1.1 Paragraph styles</a></li> +<li><a class="reference" href="#character-styles" id="id11" name="id11">4.1.2 Character styles</a></li> </ul> </li> -<li><a class="reference" href="#hints-and-suggestions" id="id10" name="id10">5 Hints and Suggestions</a><ul class="auto-toc"> -<li><a class="reference" href="#table-of-contents" id="id11" name="id11">5.1 Table of contents</a></li> -<li><a class="reference" href="#syntax-highlighting" id="id12" name="id12">5.2 Syntax highlighting</a></li> +<li><a class="reference" href="#table-styles" id="id12" name="id12">4.2 Table styles</a></li> </ul> </li> +<li><a class="reference" href="#hints-and-suggestions" id="id13" name="id13">5 Hints and Suggestions</a><ul class="auto-toc"> +<li><a class="reference" href="#table-of-contents" id="id14" name="id14">5.1 Table of contents</a></li> +<li><a class="reference" href="#syntax-highlighting" id="id15" name="id15">5.2 Syntax highlighting</a><ul class="auto-toc"> +<li><a class="reference" href="#controlling-syntax-highlighting-within-a-document" id="id16" name="id16">5.2.1 Controlling syntax highlighting within a document</a></li> </ul> +</li> +</ul> +</li> +</ul> </div> <div class="section"> <h1><a class="toc-backref" href="#id1" id="introduction" name="introduction">1 Introduction</a></h1> -<p>What it does -- <tt class="docutils literal"><span class="pre">rst2odt.py/odtwriter.py</span></tt> translate reST +<p>What it does -- <tt class="docutils literal"><span class="pre">rst2odt.py/odtwriter.py</span></tt> translates reST (reStructuredText) into a Open Document Format <tt class="docutils literal"><span class="pre">.odt</span></tt> file. You -can learn more about here:</p> +can learn more about that format here:</p> <ul class="simple"> <li><a class="reference" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office">OASIS Open Document Format for Office Applications (OpenDocument) TC</a></li> <li><a class="reference" href="http://en.wikipedia.org/wiki/OpenDocument">Open Document at Wikipedia</a></li> </ul> +<p>You should be able to open documents (.odt files) generated with +<tt class="docutils literal"><span class="pre">rst2odt.py</span></tt> in <tt class="docutils literal"><span class="pre">OpenOffice/oowriter</span></tt>. I use OpenOffice version +2.0 in my testing.</p> </div> <div class="section"> <h1><a class="toc-backref" href="#id2" id="how-to-install-it" name="how-to-install-it">2 How to Install It</a></h1> -<p>Requirements -- <tt class="docutils literal"><span class="pre">odtwriter</span></tt> requires:</p> +<div class="section"> +<h2><a class="toc-backref" href="#id3" id="where-to-get-it" name="where-to-get-it">2.1 Where to get it</a></h2> +<p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> is available via Subversion from +the Docutils repository under +<tt class="docutils literal"><span class="pre">docutils/sandbox/dkuhlman/OpenDocument/</span></tt>. The following will +download Docutils including <tt class="docutils literal"><span class="pre">odtwriter</span></tt> and associated files into +your current directory:</p> +<pre class="literal-block"> +$ svn checkout svn://svn.berlios.de/docutils/trunk docutils +</pre> +<p>For more information about access to the Docutils Subversion +repository, see: +<a class="reference" href="http://docutils.sourceforge.net/docs/dev/repository.html">http://docutils.sourceforge.net/docs/dev/repository.html</a>.</p> +</div> +<div class="section"> +<h2><a class="toc-backref" href="#id4" id="requirements" name="requirements">2.2 Requirements</a></h2> +<p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> requires:</p> <ul> <li><p class="first">Python</p> </li> @@ -256,19 +283,26 @@ <p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> will try first to use Lxml, and if it is not installed will use ElementTree.</p> </li> +<li><p class="first">Optional -- <a class="reference" href="http://pygments.pocoo.org/">Pygments</a> is required for syntax highlighting of +Python code in literal blocks.</p> +</li> </ul> +</div> +<div class="section"> +<h2><a class="toc-backref" href="#id5" id="installation" name="installation">2.3 Installation</a></h2> <p>Install <tt class="docutils literal"><span class="pre">odtwriter</span></tt> with the standard Python installation commands:</p> <pre class="literal-block"> $ python setup.py build -$ python setup.py install # as root +$ python setup.py install # possibly as root </pre> <p>This will install <tt class="docutils literal"><span class="pre">rst2odt.py</span></tt> in your <tt class="docutils literal"><span class="pre">bin</span></tt> directory and the odtwriter and the styles file under <tt class="docutils literal"><span class="pre">docutils/writers/odtwriter</span></tt> within your Docutils installation.</p> </div> +</div> <div class="section"> -<h1><a class="toc-backref" href="#id3" id="how-to-use-it" name="how-to-use-it">3 How to Use It</a></h1> +<h1><a class="toc-backref" href="#id6" id="how-to-use-it" name="how-to-use-it">3 How to Use It</a></h1> <p>Run it from the command line as follows:</p> <pre class="literal-block"> $ rst2odt.py myinput.txt myoutput.odt @@ -285,7 +319,7 @@ $ rst2odt.py --source-url=odtwriter.txt --generator --stylesheet-path=/myconfigs/styles.odt odtwriter.txt odtwriter.odt </pre> <div class="section"> -<h2><a class="toc-backref" href="#id4" id="command-line-flags" name="command-line-flags">3.1 Command line flags</a></h2> +<h2><a class="toc-backref" href="#id7" id="command-line-flags" name="command-line-flags">3.1 Command line flags</a></h2> <p>The following command line flags are specific to <tt class="docutils literal"><span class="pre">odtwriter</span></tt>:</p> <table class="docutils option-list" frame="void" rules="none"> <col class="option" /> @@ -326,7 +360,7 @@ </div> </div> <div class="section"> -<h1><a class="toc-backref" href="#id5" id="styles" name="styles">4 Styles</a></h1> +<h1><a class="toc-backref" href="#id8" id="styles" name="styles">4 Styles</a></h1> <p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> uses a number of styles that are defined in the default <tt class="docutils literal"><span class="pre">styles.xml</span></tt>. This section describes those styles.</p> <p>You can modify the look of documents generated by <tt class="docutils literal"><span class="pre">odtwriter</span></tt> in @@ -367,7 +401,7 @@ </li> </ul> <div class="section"> -<h2><a class="toc-backref" href="#id6" id="styles-used-by-odtwriter" name="styles-used-by-odtwriter">4.1 Styles used by odtwriter</a></h2> +<h2><a class="toc-backref" href="#id9" id="styles-used-by-odtwriter" name="styles-used-by-odtwriter">4.1 Styles used by odtwriter</a></h2> <p>This section describes the styles used by <tt class="docutils literal"><span class="pre">odtwriter</span></tt>.</p> <p>Note that we do not describe the "look" of these styles. That can be easily changed by using <tt class="docutils literal"><span class="pre">oowriter</span></tt> to edit the document @@ -390,7 +424,7 @@ $ rst2odt.py --stylesheet-path=mystyles.odt test2.txt test2.odt </pre> <div class="section"> -<h3><a class="toc-backref" href="#id7" id="paragraph-styles" name="paragraph-styles">4.1.1 Paragraph styles</a></h3> +<h3><a class="toc-backref" href="#id10" id="paragraph-styles" name="paragraph-styles">4.1.1 Paragraph styles</a></h3> <dl class="docutils"> <dt>rststyle-blockindent</dt> <dd>An indented block.</dd> @@ -415,7 +449,7 @@ </dl> </div> <div class="section"> -<h3><a class="toc-backref" href="#id8" id="character-styles" name="character-styles">4.1.2 Character styles</a></h3> +<h3><a class="toc-backref" href="#id11" id="character-styles" name="character-styles">4.1.2 Character styles</a></h3> <dl class="docutils"> <dt>rststyle-emphasis</dt> <dd>Emphasis. Normally rendered as italics.</dd> @@ -448,7 +482,7 @@ </div> </div> <div class="section"> -<h2><a class="toc-backref" href="#id9" id="table-styles" name="table-styles">4.2 Table styles</a></h2> +<h2><a class="toc-backref" href="#id12" id="table-styles" name="table-styles">4.2 Table styles</a></h2> <p>Table styles are generated by <tt class="docutils literal"><span class="pre">oowriter</span></tt> for each table that you create. Therefore, <tt class="docutils literal"><span class="pre">odtwriter</span></tt> attempts to do something similar. These styles are created in the <tt class="docutils literal"><span class="pre">content.xml</span></tt> document @@ -457,9 +491,9 @@ </div> </div> <div class="section"> -<h1><a class="toc-backref" href="#id10" id="hints-and-suggestions" name="hints-and-suggestions">5 Hints and Suggestions</a></h1> +<h1><a class="toc-backref" href="#id13" id="hints-and-suggestions" name="hints-and-suggestions">5 Hints and Suggestions</a></h1> <div class="section"> -<h2><a class="toc-backref" href="#id11" id="table-of-contents" name="table-of-contents">5.1 Table of contents</a></h2> +<h2><a class="toc-backref" href="#id14" id="table-of-contents" name="table-of-contents">5.1 Table of contents</a></h2> <p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> can generate an outline style table of contents. However, if you want an <tt class="docutils literal"><span class="pre">oowriter</span></tt> style table of contents along with the formatting control that <tt class="docutils literal"><span class="pre">oowriter</span></tt> gives you, then you @@ -471,7 +505,7 @@ </pre> </div> <div class="section"> -<h2><a class="toc-backref" href="#id12" id="syntax-highlighting" name="syntax-highlighting">5.2 Syntax highlighting</a></h2> +<h2><a class="toc-backref" href="#id15" id="syntax-highlighting" name="syntax-highlighting">5.2 Syntax highlighting</a></h2> <p><tt class="docutils literal"><span class="pre">odtwriter</span></tt> can add Python syntax highlighting to code in literal code blocks. In order to activate this, do both of the following: (1) install Pygments and (2) use the command line flag @@ -484,8 +518,7 @@ have literal code blocks that contain code which is <em>not</em> Python code, then you likely do <em>not</em> want to use the <tt class="docutils literal"><span class="pre">--add-syntax-highlighting</span></tt> flag.</p> -<p>You can find Pygments here: -<a class="reference" href="http://pygments.pocoo.org/">Pygments</a>.</p> +<p>You can find Pygments here: <a class="reference" href="http://pygments.pocoo.org/">Pygments</a>.</p> <p>The following styles are defined in styles.odt and are used for literal code blocks and syntax highlighting:</p> <ul class="simple"> @@ -516,6 +549,36 @@ button at the top of the Styles and Formatting window. You may also need to select "All Styles" from the drop-down selection list at the bottom of the Styles and Formatting window.</p> +<div class="section"> +<h3><a class="toc-backref" href="#id16" id="controlling-syntax-highlighting-within-a-document" name="controlling-syntax-highlighting-within-a-document">5.2.1 Controlling syntax highlighting within a document</a></h3> +<p>By default, when you use the <tt class="docutils literal"><span class="pre">--add-syntax-highlighting</span></tt> command +line flag, syntax highlighting in literal blocks is on and the +Python lexer is used. You can change this within your reST document +with the following directive:</p> +<pre class="literal-block"> +.. syntaxhighlight newstate [lexer] +</pre> +<p>where:</p> +<ul class="simple"> +<li><em>newstate</em> is either "on" or "off", which makes highlighting +active or inactive.</li> +<li><em>lexer</em> is the Pygments lexer to use. Change the lexer to match +the language in literal code blocks. <em>lexer</em> should be one of +<em>aliases</em> listed at <a class="reference" href="http://pygments.pocoo.org/docs/lexers/">Pygments Available Lexers</a>, for example "python", +"pycon", "java", "cpp", "c", "perl", "javascript", etc.</li> +</ul> +<p>Examples:</p> +<pre class="literal-block"> +.. syntaxhighlight:: on python +.. syntaxhighlight:: off +.. syntaxhighlight:: on +.. syntaxhighlight:: on java +</pre> +<p>The syntax highlighting state set by this directive remains in +effect until the next directive is encountered in the reST document.</p> +<p>Note to Pythonistas, there is a separate lexer for examples of +code from the Python interactive prompt and console output or +doctests. The alias for that lexer is "pycon".</p> <!-- Configuration for Emacs --> <!-- Local Variables: mode: indented-text @@ -526,6 +589,7 @@ </div> </div> </div> +</div> <div class="footer"> <hr class="footer" /> <a class="reference" href="odtwriter.txt">View document source</a>. Modified: trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.odt =================================================================== (Binary files differ) Modified: trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.txt =================================================================== --- trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.txt 2006-12-26 09:59:41 UTC (rev 4837) +++ trunk/sandbox/dkuhlman/OpenDocument/docs/odtwriter.txt 2006-12-28 00:45:33 UTC (rev 4838) @@ -7,7 +7,7 @@ http://www.rexx.com/~dkuhlman :revision: 1.0b -:date: Dec. 19, 2006 +:date: Dec. 23, 2006 :copyright: Copyright (c) 2006 Dave Kuhlman. All Rights Reserved. This software is subject to the provisions of the MIT License @@ -24,21 +24,44 @@ Introduction ============ -What it does -- ``rst2odt.py/odtwriter.py`` translate reST +What it does -- ``rst2odt.py/odtwriter.py`` translates reST (reStructuredText) into a Open Document Format ``.odt`` file. You -can learn more about here: +can learn more about that format here: - `OASIS Open Document Format for Office Applications (OpenDocument) TC`_ - `Open Document at Wikipedia`_ +You should be able to open documents (.odt files) generated with +``rst2odt.py`` in ``OpenOffice/oowriter``. I use OpenOffice version +2.0 in my testing. + How to Install It ================= -Requirements -- ``odtwriter`` requires: +Where to get it +--------------- +``odtwriter`` is available via Subversion from +the Docutils repository under +``docutils/sandbox/dkuhlman/OpenDocument/``. The following will +download Docutils including ``odtwriter`` and associated files into +your current directory:: + + $ svn checkout svn://svn.berlios.de/docutils/trunk docutils + +For more information about access to the Docutils Subversion +repository, see: +http://docutils.sourceforge.net/docs/dev/repository.html. + + +Requirements +------------ + +``odtwriter`` requires: + - Python - A sufficiently recent version of Docutils. @@ -52,11 +75,18 @@ ``odtwriter`` will try first to use Lxml, and if it is not installed will use ElementTree. +- Optional -- `Pygments`_ is required for syntax highlighting of + Python code in literal blocks. + + +Installation +------------ + Install ``odtwriter`` with the standard Python installation commands:: $ python setup.py build - $ python setup.py install # as root + $ python setup.py install # possibly as root This will install ``rst2odt.py`` in your ``bin`` directory and the odtwriter and the styles file under ``docutils/writers/odtwriter`` @@ -305,8 +335,7 @@ code, then you likely do *not* want to use the ``--add-syntax-highlighting`` flag. -You can find Pygments here: -`Pygments <http://pygments.pocoo.org/>`_. +You can find Pygments here: `Pygments`_. The following styles are defined in styles.odt and are used for literal code blocks and syntax highlighting: @@ -347,8 +376,50 @@ at the bottom of the Styles and Formatting window. +Controlling syntax highlighting within a document +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By default, when you use the ``--add-syntax-highlighting`` command +line flag, syntax highlighting in literal blocks is on and the +Python lexer is used. You can change this within your reST document +with the following directive:: + .. syntaxhighlight newstate [lexer] + +where: + +- *newstate* is either "on" or "off", which makes highlighting + active or inactive. + +- *lexer* is the Pygments lexer to use. Change the lexer to match + the language in literal code blocks. *lexer* should be one of + *aliases* listed at `Pygments Available Lexers + <http://pygments.pocoo.org/docs/lexers/>`_, for example "python", + "pycon", "java", "cpp", "c", "perl", "javascript", etc. + +Examples:: + + .. syntaxhighlight:: on python + .. syntaxhighlight:: off + .. syntaxhighlight:: on + .. syntaxhighlight:: on java + +The syntax highlighting state set by this directive remains in +effect until the next directive is encountered in the reST document. + +Note to Pythonistas, there is a separate lexer for examples of +code from the Python interactive prompt and console output or +doctests. The alias for that lexer is "pycon". + + + + +.. _`Pygments`: + http://pygments.pocoo.org/ + + + + .. Configuration for Emacs .. Local Variables: Modified: trunk/sandbox/dkuhlman/OpenDocument/odtwriter/__init__.py =================================================================== --- trunk/sandbox/dkuhlman/OpenDocument/odtwriter/__init__.py 2006-12-26 09:59:41 UTC (rev 4837) +++ trunk/sandbox/dkuhlman/OpenDocument/odtwriter/__init__.py 2006-12-28 00:45:33 UTC (rev 4838) @@ -25,6 +25,7 @@ ## Image = None import docutils from docutils import frontend, nodes, utils, writers, languages +from docutils.parsers import rst WhichElementTree = '' @@ -241,6 +242,36 @@ MIME_TYPE = 'application/vnd.oasis.opendocument.text' +# +# Classes +# + +# +# Class to control syntax highlighting. +class SyntaxHighlight(rst.Directive): + required_arguments = 1 + optional_arguments = 1 + + def run(self): + if self.arguments[0] not in ('on', 'off'): + raise self.error( + 'Error in "%s" directive: "%s" is not a valid value for ' + 'first argument. Valid values are "on", "off".' + % (self.name, self.arguments[0])) + arguments = ' '.join(self.arguments) + paragraph = nodes.paragraph(arguments, arguments) + field_body = nodes.field_body() + field_body += paragraph + paragraph = nodes.paragraph('syntaxhighlight', 'syntaxhighlight') + field_name = nodes.field_name() + field_name += paragraph + field = nodes.field() + field += field_name + field += field_body + return [field] + +rst.directives.register_directive('syntaxhighlight', SyntaxHighlight) + class Writer(writers.Writer): supported = ('html', 'html4css1', 'xhtml') @@ -555,6 +586,8 @@ self.title = None self.image_count = 0 self.embedded_file_list = [] + self.syntaxhighlighting = 1 + self.syntaxhighlight_lexer = 'python' def astext(self): root = self.content_tree.getroot() @@ -890,15 +923,35 @@ pass def visit_field(self, node): + # Note that the syntaxhighlight directive produces this field node. + # See class SyntaxHighlight, above. #ipshell('At visit_field') - #self.trace_visit_node(node) - pass + children = node.children + if len(children) == 2: + name = children[0].astext() + if name == 'syntaxhighlight': + body = children[1].astext() + args = body.split() + if len(args) == 2: + self.syntaxhighlight_lexer = args[1] + if args[0] == 'on': + self.syntaxhighlighting = 1 + elif args[0] == 'off': + self.syntaxhighlighting = 0 + raise nodes.SkipChildren() def depart_field(self, node): - #self.trace_depart_node(node) - #self.current_element.append(self.field_element) pass + def visit_field_list(self, node): + #ipshell('At visit_field_list') + print '*** field_list node: %s' % node + pass + + def depart_field_list(self, node): + #ipshell('At depart_field_list') + pass + def visit_field_name(self, node): #ipshell('At visit_field_name') #self.trace_visit_node(node) @@ -1211,7 +1264,9 @@ return count def _add_syntax_highlighting(self, insource): - lexer = pygments.lexers.get_lexer_by_name("python", stripall=True) + #print '(_add_syntax_highlighting) using lexer: %s' % self.syntaxhighlight_lexer + lexer = pygments.lexers.get_lexer_by_name( + self.syntaxhighlight_lexer, stripall=True) fmtr = OdtPygmentsFormatter() outsource = pygments.highlight(insource, lexer, fmtr) return outsource @@ -1228,7 +1283,8 @@ def visit_literal_block(self, node): #ipshell('At visit_literal_block') source = node.astext() - if pygments and self.settings.add_syntax_highlighting: + if pygments and self.settings.add_syntax_highlighting and \ + self.syntaxhighlighting: source = self._add_syntax_highlighting(source) else: source = self._escape_cdata(source) @@ -1482,7 +1538,8 @@ self.set_to_parent() def visit_system_message(self, node): - print '(visit_system_message) node: %s' % (node.astext(), ) + #print '(visit_system_message) node: %s' % (node.astext(), ) + pass def depart_system_message(self, node): pass |