Skip to content

Commit c41456f

Browse files
authored
NEW: Ignore line length when line only contains a long URL (#132)
1 parent e3987be commit c41456f

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

sphinxlint/checkers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ def check_missing_final_newline(file, lines, options=None):
442442
_starts_with_directive_or_hyperlink = re.compile(r"^\s*\.\. ").match
443443
_starts_with_anonymous_hyperlink = re.compile(r"^\s*__ ").match
444444
_is_very_long_string_literal = re.compile(r"^\s*``[^`]+``$").match
445+
_is_very_long_inline_link = re.compile(r"^\s*<.*(>`_).?$").match
445446

446447

447448
@checker(".rst", ".po", enabled=False, rst_only=True)
@@ -460,6 +461,8 @@ def check_line_too_long(file, lines, options=None):
460461
continue # ignore anonymous hyperlink targets
461462
if _is_very_long_string_literal(line):
462463
continue # ignore a very long literal string
464+
if _is_very_long_inline_link(line):
465+
continue # ignore a very long URL on its own line
463466
yield lno + 1, f"Line too long ({len(line) - 1}/{options.max_line_length})"
464467

465468

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent rhoncus
2+
volutpat felis, eu egestas sapien tristique a. Vivamus scelerisque nunc nec arcu
3+
pharetra, sit amet feugiat lorem consequat. See this extremely long link here:
4+
`A Very Long Inline Link Example
5+
<https://www.example.com/this-link-is-unusually-long-and-contains-a-lot-of-characters-as-well-as-additional-query-params?param1=value1&param2=value2&param3=value3&more_values=true>`_.
6+
7+
Donec ultrices, nisi sit amet cursus pharetra, arcu lacus tincidunt ligula, eget
8+
fringilla ex turpis vel odio. Curabitur feugiat pretium lorem a fringilla.
9+
Suspendisse eget orci eu sem tincidunt auctor.
10+
11+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent rhoncus
12+
volutpat felis, eu egestas sapien tristique a. Vivamus scelerisque nunc nec
13+
arcu pharetra, sit amet feugiat lorem consequat. See this extremely long
14+
link here: `A Very Long Inline Link Example
15+
<https://www.example.com/this-link-is-unusually-long-and-contains-a-lot-of-characters-as-well-as-additional-query-params?param1=value1&param2=value2&param3=value3&more_values=true>`_.

0 commit comments

Comments
 (0)