TD003: remove issue code length restriction (#15175)

Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
Mike Bernard 2025-01-03 01:42:04 -08:00 committed by GitHub
parent 1218bc65ed
commit 0dbfa8d0e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 40 additions and 34 deletions

View file

@ -5,6 +5,12 @@
# TODO: this comment has an issue
# TDO-3870
# TODO: the link has an issue code of the minimum length
# T-001
# TODO: the issue code can be arbitrarily long
# ABCDEFGHIJKLMNOPQRSTUVWXYZ-001
# TDO003 - errors
# TODO: this comment has no
# link after it

View file

@ -91,7 +91,7 @@ impl Violation for MissingTodoAuthor {
/// # TODO(charlie): this comment has a 3-digit issue code
/// # 003
///
/// # TODO(charlie): this comment has an issue code of (up to) 6 characters, then digits
/// # TODO(charlie): this comment has an issue code (matches the regex `[A-Z]+\-?\d+`)
/// # SIXCHR-003
/// ```
#[derive(ViolationMetadata)]
@ -228,7 +228,7 @@ static ISSUE_LINK_REGEX_SET: LazyLock<RegexSet> = LazyLock::new(|| {
RegexSet::new([
r"^#\s*(http|https)://.*", // issue link
r"^#\s*\d+$", // issue code - like "003"
r"^#\s*[A-Z]{1,6}\-?\d+$", // issue code - like "TD003"
r"^#\s*[A-Z]+\-?\d+$", // issue code - like "TD003"
])
.unwrap()
});

View file

@ -2,48 +2,48 @@
source: crates/ruff_linter/src/rules/flake8_todos/mod.rs
snapshot_kind: text
---
TD003.py:9:3: TD003 Missing issue link on the line following this TODO
TD003.py:15:3: TD003 Missing issue link on the line following this TODO
|
8 | # TDO003 - errors
9 | # TODO: this comment has no
14 | # TDO003 - errors
15 | # TODO: this comment has no
| ^^^^ TD003
10 | # link after it
16 | # link after it
|
TD003.py:12:3: TD003 Missing issue link on the line following this TODO
TD003.py:18:3: TD003 Missing issue link on the line following this TODO
|
10 | # link after it
11 |
12 | # TODO: here's a TODO with no link after it
16 | # link after it
17 |
18 | # TODO: here's a TODO with no link after it
| ^^^^ TD003
13 | def foo(x):
14 | return x
|
TD003.py:25:3: TD003 Missing issue link on the line following this TODO
|
23 | # TDO-3870
24 |
25 | # TODO: here's a TODO without an issue link
| ^^^^ TD003
26 | # TODO: followed by a new TODO with an issue link
27 | # TDO-3870
|
TD003.py:29:9: TD003 Missing issue link on the line following this TODO
|
27 | # TDO-3870
28 |
29 | # foo # TODO: no link!
| ^^^^ TD003
30 |
31 | # TODO: here's a TODO on the last line with no link
19 | def foo(x):
20 | return x
|
TD003.py:31:3: TD003 Missing issue link on the line following this TODO
|
29 | # foo # TODO: no link!
29 | # TDO-3870
30 |
31 | # TODO: here's a TODO on the last line with no link
31 | # TODO: here's a TODO without an issue link
| ^^^^ TD003
32 | # TODO: followed by a new TODO with an issue link
33 | # TDO-3870
|
TD003.py:35:9: TD003 Missing issue link on the line following this TODO
|
33 | # TDO-3870
34 |
35 | # foo # TODO: no link!
| ^^^^ TD003
36 |
37 | # TODO: here's a TODO on the last line with no link
|
TD003.py:37:3: TD003 Missing issue link on the line following this TODO
|
35 | # foo # TODO: no link!
36 |
37 | # TODO: here's a TODO on the last line with no link
| ^^^^ TD003
|