mirror of https://github.com/astral-sh/ruff
Add autofix for W605 [InvalidEscapeSequence] (#1361)
This commit is contained in:
parent
63772e335d
commit
0dc523b081
|
|
@ -541,7 +541,7 @@ For more, see [pycodestyle](https://pypi.org/project/pycodestyle/2.9.1/) on PyPI
|
||||||
| E902 | IOError | IOError: `...` | |
|
| E902 | IOError | IOError: `...` | |
|
||||||
| E999 | SyntaxError | SyntaxError: `...` | |
|
| E999 | SyntaxError | SyntaxError: `...` | |
|
||||||
| W292 | NoNewLineAtEndOfFile | No newline at end of file | 🛠 |
|
| W292 | NoNewLineAtEndOfFile | No newline at end of file | 🛠 |
|
||||||
| W605 | InvalidEscapeSequence | Invalid escape sequence: '\c' | |
|
| W605 | InvalidEscapeSequence | Invalid escape sequence: '\c' | 🛠 |
|
||||||
|
|
||||||
### mccabe (C90)
|
### mccabe (C90)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,11 @@ pub fn check_tokens(
|
||||||
if enforce_invalid_escape_sequence {
|
if enforce_invalid_escape_sequence {
|
||||||
if matches!(tok, Tok::String { .. }) {
|
if matches!(tok, Tok::String { .. }) {
|
||||||
checks.extend(pycodestyle::checks::invalid_escape_sequence(
|
checks.extend(pycodestyle::checks::invalid_escape_sequence(
|
||||||
locator, start, end,
|
locator,
|
||||||
|
start,
|
||||||
|
end,
|
||||||
|
matches!(autofix, flags::Autofix::Enabled)
|
||||||
|
&& settings.fixable.contains(&CheckCode::W605),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2972,6 +2972,7 @@ impl CheckKind {
|
||||||
| CheckKind::GetAttrWithConstant
|
| CheckKind::GetAttrWithConstant
|
||||||
| CheckKind::ImplicitReturn
|
| CheckKind::ImplicitReturn
|
||||||
| CheckKind::ImplicitReturnValue
|
| CheckKind::ImplicitReturnValue
|
||||||
|
| CheckKind::InvalidEscapeSequence(..)
|
||||||
| CheckKind::IsLiteral
|
| CheckKind::IsLiteral
|
||||||
| CheckKind::KeyInDict(..)
|
| CheckKind::KeyInDict(..)
|
||||||
| CheckKind::MisplacedComparisonConstant(..)
|
| CheckKind::MisplacedComparisonConstant(..)
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,7 @@ pub fn invalid_escape_sequence(
|
||||||
locator: &SourceCodeLocator,
|
locator: &SourceCodeLocator,
|
||||||
start: Location,
|
start: Location,
|
||||||
end: Location,
|
end: Location,
|
||||||
|
autofix: bool,
|
||||||
) -> Vec<Check> {
|
) -> Vec<Check> {
|
||||||
let mut checks = vec![];
|
let mut checks = vec![];
|
||||||
|
|
||||||
|
|
@ -235,13 +236,17 @@ pub fn invalid_escape_sequence(
|
||||||
};
|
};
|
||||||
let location = Location::new(start.row() + row_offset, col);
|
let location = Location::new(start.row() + row_offset, col);
|
||||||
let end_location = Location::new(location.row(), location.column() + 2);
|
let end_location = Location::new(location.row(), location.column() + 2);
|
||||||
checks.push(Check::new(
|
let mut check = Check::new(
|
||||||
CheckKind::InvalidEscapeSequence(next_char),
|
CheckKind::InvalidEscapeSequence(next_char),
|
||||||
Range {
|
Range {
|
||||||
location,
|
location,
|
||||||
end_location,
|
end_location,
|
||||||
},
|
},
|
||||||
));
|
);
|
||||||
|
if autofix {
|
||||||
|
check.amend(Fix::insertion(r"\".to_string(), location));
|
||||||
|
}
|
||||||
|
checks.push(check);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 2
|
row: 2
|
||||||
column: 11
|
column: 11
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 2
|
||||||
|
column: 9
|
||||||
|
end_location:
|
||||||
|
row: 2
|
||||||
|
column: 9
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: "."
|
InvalidEscapeSequence: "."
|
||||||
location:
|
location:
|
||||||
|
|
@ -19,7 +26,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 6
|
row: 6
|
||||||
column: 2
|
column: 2
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 6
|
||||||
|
column: 0
|
||||||
|
end_location:
|
||||||
|
row: 6
|
||||||
|
column: 0
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: _
|
InvalidEscapeSequence: _
|
||||||
location:
|
location:
|
||||||
|
|
@ -28,7 +42,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 11
|
row: 11
|
||||||
column: 7
|
column: 7
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 11
|
||||||
|
column: 5
|
||||||
|
end_location:
|
||||||
|
row: 11
|
||||||
|
column: 5
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: _
|
InvalidEscapeSequence: _
|
||||||
location:
|
location:
|
||||||
|
|
@ -37,5 +58,12 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 18
|
row: 18
|
||||||
column: 7
|
column: 7
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 18
|
||||||
|
column: 5
|
||||||
|
end_location:
|
||||||
|
row: 18
|
||||||
|
column: 5
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 2
|
row: 2
|
||||||
column: 11
|
column: 11
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 2
|
||||||
|
column: 9
|
||||||
|
end_location:
|
||||||
|
row: 2
|
||||||
|
column: 9
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: "."
|
InvalidEscapeSequence: "."
|
||||||
location:
|
location:
|
||||||
|
|
@ -19,7 +26,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 6
|
row: 6
|
||||||
column: 2
|
column: 2
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 6
|
||||||
|
column: 0
|
||||||
|
end_location:
|
||||||
|
row: 6
|
||||||
|
column: 0
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: _
|
InvalidEscapeSequence: _
|
||||||
location:
|
location:
|
||||||
|
|
@ -28,7 +42,14 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 11
|
row: 11
|
||||||
column: 7
|
column: 7
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 11
|
||||||
|
column: 5
|
||||||
|
end_location:
|
||||||
|
row: 11
|
||||||
|
column: 5
|
||||||
- kind:
|
- kind:
|
||||||
InvalidEscapeSequence: _
|
InvalidEscapeSequence: _
|
||||||
location:
|
location:
|
||||||
|
|
@ -37,5 +58,12 @@ expression: checks
|
||||||
end_location:
|
end_location:
|
||||||
row: 18
|
row: 18
|
||||||
column: 7
|
column: 7
|
||||||
fix: ~
|
fix:
|
||||||
|
content: "\\"
|
||||||
|
location:
|
||||||
|
row: 18
|
||||||
|
column: 5
|
||||||
|
end_location:
|
||||||
|
row: 18
|
||||||
|
column: 5
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue