Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sphinx-doc/sphinx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-06-30 16:25:25 +0300
committerMartin Liska <mliska@suse.cz>2021-11-08 13:30:44 +0300
commitfaed8cb8dbacf1cfe3061dc6793f0a631f8e3792 (patch)
tree4996c1d60fefb68eb84243d90660d31811281849 /sphinx/writers
parent1f91a0f8bd33eeffe082e31300f94df2ee10454f (diff)
texinfo: improve variable in :samp: directives
The following snippet: Show :samp:`Samp with a {variable}.` Ends in .info as: Show ‘Samp with a `variable'.’ Which is suboptimal and @var{variable} should be rather used. That results in ‘Samp with a VARIABLE.’.
Diffstat (limited to 'sphinx/writers')
-rw-r--r--sphinx/writers/texinfo.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py
index 6df558323..3f98a882e 100644
--- a/sphinx/writers/texinfo.py
+++ b/sphinx/writers/texinfo.py
@@ -194,6 +194,7 @@ class TexinfoTranslator(SphinxTranslator):
self.curfilestack: List[str] = []
self.footnotestack: List[Dict[str, List[Union[collected_footnote, bool]]]] = [] # NOQA
self.in_footnote = 0
+ self.in_samp = 0
self.handled_abbrs: Set[str] = set()
self.colwidths: List[int] = None
@@ -809,15 +810,23 @@ class TexinfoTranslator(SphinxTranslator):
self.body.append('}')
def visit_emphasis(self, node: Element) -> None:
- self.body.append('@emph{')
+ element = 'emph' if not self.in_samp else 'var'
+ self.body.append('@%s{' % element)
def depart_emphasis(self, node: Element) -> None:
self.body.append('}')
+ def is_samp(self, node: Element) -> bool:
+ return 'samp' in node['classes']
+
def visit_literal(self, node: Element) -> None:
+ if self.is_samp(node):
+ self.in_samp += 1
self.body.append('@code{')
def depart_literal(self, node: Element) -> None:
+ if self.is_samp(node):
+ self.in_samp -= 1
self.body.append('}')
def visit_superscript(self, node: Element) -> None: