Skip to content

Commit 80151db

Browse files
committed
Correctly consume autolink_skip and improve error (#17)
1 parent fd69a1d commit 80151db

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

docs/src/release_notes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ These release notes are based on
88
sphinx-codeautolink adheres to
99
`Semantic Versioning <https://semver.org>`_.
1010

11+
Unreleased
12+
----------
13+
- Correctly consume :code:`autolink-skip:: next` (:issue:`17`)
14+
1115
0.1.1 (2021-09-22)
1216
------------------
1317
- Correctly filter out names from concatenated sources (:issue:`14`)

src/sphinx_codeautolink/extension/block.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ def unknown_visit(self, node):
7272
self.implicit_imports.append(node.content)
7373
node.parent.remove(node)
7474
elif isinstance(node, AutoLinkSkipMarker):
75-
assert node.level in ('next', 'section', 'file', 'none')
75+
if node.level not in ('next', 'section', 'file', 'none'):
76+
raise UserError(
77+
f'Invalid skipping argument: `{node.level}` '
78+
f'in document "{self.current_document}"'
79+
)
7680
self.autolink_skip = node.level if node.level != 'none' else None
7781
node.parent.remove(node)
7882

@@ -103,6 +107,10 @@ def visit_literal_block(self, node: nodes.literal_block):
103107
implicit_imports = self.implicit_imports
104108
self.implicit_imports = []
105109

110+
skip = self.autolink_skip
111+
if skip == 'next':
112+
self.autolink_skip = None
113+
106114
if (
107115
len(node.children) != 1
108116
or not isinstance(node.children[0], nodes.Text)
@@ -112,10 +120,8 @@ def visit_literal_block(self, node: nodes.literal_block):
112120

113121
source = node.children[0].astext()
114122

115-
if self.autolink_skip:
123+
if skip:
116124
self.source_transforms.append(SourceTransforms(source, []))
117-
if self.autolink_skip == 'next':
118-
self.autolink_skip = None
119125
return
120126

121127
modified_source = '\n'.join(self.concat_sources + implicit_imports + [source])

0 commit comments

Comments
 (0)