summaryrefslogtreecommitdiff
path: root/Doc/tools/rstlint.py
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/tools/rstlint.py')
-rwxr-xr-xDoc/tools/rstlint.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/Doc/tools/rstlint.py b/Doc/tools/rstlint.py
index c9bff80995..91aed80b1e 100755
--- a/Doc/tools/rstlint.py
+++ b/Doc/tools/rstlint.py
@@ -90,7 +90,6 @@ roles = [
":newsgroup:",
":code:",
":py:func:",
- ":memory:",
":makevar:",
":guilabel:",
":title-reference:",
@@ -123,6 +122,13 @@ three_dot_directive_re = re.compile(r"\.\.\. %s::" % all_directives)
double_backtick_role = re.compile(r"(?<!``)%s``" % all_roles)
+# Find role used with no backticks instead of simple backticks like:
+# :const:None
+# instead of:
+# :const:`None`
+role_with_no_backticks = re.compile(r"%s[^` ]" % all_roles)
+
+
default_role_re = re.compile(r"(^| )`\w([^`]*?\w)?`($| )")
leaked_markup_re = re.compile(r"[a-z]::\s|`|\.\.\s*\w+:")
@@ -168,6 +174,8 @@ def check_suspicious_constructs(fn, lines):
yield lno, "directive should start with two dots, not three."
if double_backtick_role.search(line):
yield lno, "role use a single backtick, double backtick found."
+ if role_with_no_backticks.search(line):
+ yield lno, "role use a single backtick, no backtick found."
if ".. productionlist::" in line:
inprod = True
elif not inprod and default_role_re.search(line):