summaryrefslogtreecommitdiff
path: root/sphinx/util/docutils.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-03-21 17:53:22 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2020-03-21 17:53:22 +0900
commitc7e590818a16704620d029616e3d59d3d48446a5 (patch)
treecf502b832fdba41d3359a64232d2dd8884a763f5 /sphinx/util/docutils.py
parenta3a775b1e8c09624c987eb34ea4d263063bb029b (diff)
parentbdfb112f0d7d75ca6a07a917b0395216c4917283 (diff)
downloadsphinx-git-c7e590818a16704620d029616e3d59d3d48446a5.tar.gz
Merge branch '3.x'
Diffstat (limited to 'sphinx/util/docutils.py')
-rw-r--r--sphinx/util/docutils.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py
index f211b5d0d..c9252c8b5 100644
--- a/sphinx/util/docutils.py
+++ b/sphinx/util/docutils.py
@@ -328,9 +328,13 @@ class SphinxDirective(Directive):
"""Reference to the :class:`.Config` object."""
return self.env.config
+ def get_source_info(self) -> Tuple[str, int]:
+ """Get source and line number."""
+ return self.state_machine.get_source_and_line(self.lineno)
+
def set_source_info(self, node: Node) -> None:
"""Set source and line number to the node."""
- node.source, node.line = self.state_machine.get_source_and_line(self.lineno)
+ node.source, node.line = self.get_source_info()
class SphinxRole:
@@ -386,12 +390,13 @@ class SphinxRole:
"""Reference to the :class:`.Config` object."""
return self.env.config
- def set_source_info(self, node: Node, lineno: int = None) -> None:
+ def get_source_info(self, lineno: int = None) -> Tuple[str, int]:
if lineno is None:
lineno = self.lineno
+ return self.inliner.reporter.get_source_and_line(lineno) # type: ignore
- source_info = self.inliner.reporter.get_source_and_line(lineno) # type: ignore
- node.source, node.line = source_info
+ def set_source_info(self, node: Node, lineno: int = None) -> None:
+ node.source, node.line = self.get_source_info(lineno)
class ReferenceRole(SphinxRole):