12345678910111213141516171819202122232425262728 |
- """
- reST directive for syntax-highlighting ipython interactive sessions.
- """
- from sphinx import highlighting
- from IPython.lib.lexers import IPyLexer
- def setup(app):
- """Setup as a sphinx extension."""
- # This is only a lexer, so adding it below to pygments appears sufficient.
- # But if somebody knows what the right API usage should be to do that via
- # sphinx, by all means fix it here. At least having this setup.py
- # suppresses the sphinx warning we'd get without it.
- metadata = {'parallel_read_safe': True, 'parallel_write_safe': True}
- return metadata
- # Register the extension as a valid pygments lexer.
- # Alternatively, we could register the lexer with pygments instead. This would
- # require using setuptools entrypoints: http://pygments.org/docs/plugins
- ipy2 = IPyLexer(python3=False)
- ipy3 = IPyLexer(python3=True)
- highlighting.lexers['ipython'] = ipy2
- highlighting.lexers['ipython2'] = ipy2
- highlighting.lexers['ipython3'] = ipy3
|