summaryrefslogtreecommitdiff
path: root/sphinx/transforms/post_transforms/code.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-05-30 10:44:48 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-06-01 13:42:57 +0900
commite001d358d0dd83f260ec696e2c14a65bd63cde13 (patch)
treeac28ed763003f0e61f8476dc2b9fef3389d67a6c /sphinx/transforms/post_transforms/code.py
parente9c5e3656fc74c66eb31f897c9f485a10912a2c9 (diff)
downloadsphinx-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.py11
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)