File: inline_code_highlight.py

package info (click to toggle)
scikit-misc 0.3.1%2Bdfsg2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,144 kB
  • sloc: fortran: 2,220; ansic: 1,352; python: 870; sh: 271; makefile: 98; javascript: 60
file content (30 lines) | stat: -rw-r--r-- 1,100 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from docutils.core import Publisher
from docutils.parsers.rst.roles import code_role


# Monkey patch docutils to give short css names
# credit: http://stackoverflow.com/a/21766874/832573
def process_programmatic_settings(self, settings_spec,
                                  settings_overrides,
                                  config_section):
    if self.settings is None:
        defaults = (settings_overrides or {}).copy()
        defaults.setdefault('traceback', True)
        defaults.setdefault('syntax_highlight', 'short')
        self.get_settings(settings_spec=settings_spec,
                          config_section=config_section,
                          **defaults)

Publisher.process_programmatic_settings = process_programmatic_settings


def python_role(role, rawtext, text, lineno,
                inliner, options={}, content=[]):
    options = {'language': 'python'}
    return code_role(role, rawtext, text, lineno,
                     inliner, options=options, content=content)


def setup(app):
    app.add_role('python', python_role)
    app.add_role('py', python_role)