diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-05-30 10:44:48 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-06-01 13:42:57 +0900 |
commit | e001d358d0dd83f260ec696e2c14a65bd63cde13 (patch) | |
tree | ac28ed763003f0e61f8476dc2b9fef3389d67a6c /sphinx/transforms/post_transforms/code.py | |
parent | e9c5e3656fc74c66eb31f897c9f485a10912a2c9 (diff) | |
download | sphinx-git-e001d358d0dd83f260ec696e2c14a65bd63cde13.tar.gz |
Add :force: option to code directives
Diffstat (limited to 'sphinx/transforms/post_transforms/code.py')
-rw-r--r-- | sphinx/transforms/post_transforms/code.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sphinx/transforms/post_transforms/code.py b/sphinx/transforms/post_transforms/code.py index fb8533e9c..a42de4bf1 100644 --- a/sphinx/transforms/post_transforms/code.py +++ b/sphinx/transforms/post_transforms/code.py @@ -25,6 +25,7 @@ if False: HighlightSetting = NamedTuple('HighlightSetting', [('language', str), + ('force', bool), ('lineno_threshold', int)]) @@ -51,7 +52,7 @@ class HighlightLanguageTransform(SphinxTransform): class HighlightLanguageVisitor(nodes.NodeVisitor): def __init__(self, document, default_language): # type: (nodes.document, str) -> None - self.default_setting = HighlightSetting(default_language, sys.maxsize) + self.default_setting = HighlightSetting(default_language, False, sys.maxsize) self.settings = [] # type: List[HighlightSetting] super().__init__(document) @@ -81,16 +82,16 @@ class HighlightLanguageVisitor(nodes.NodeVisitor): def visit_highlightlang(self, node): # type: (addnodes.highlightlang) -> None - self.settings[-1] = HighlightSetting(node['lang'], node['linenothreshold']) + self.settings[-1] = HighlightSetting(node['lang'], + node['force'], + node['linenothreshold']) def visit_literal_block(self, node): # type: (nodes.literal_block) -> None setting = self.settings[-1] if 'language' not in node: node['language'] = setting.language - node['force_highlighting'] = False - elif 'force_highlighting' not in node: - node['force_highlighting'] = True + node['force'] = setting.force if 'linenos' not in node: lines = node.astext().count('\n') node['linenos'] = (lines >= setting.lineno_threshold - 1) |