Charlie Marsh
a72590ecde
Expand S110 and S112 ranges to include entire exception handler ( #2729 )
2023-02-10 13:27:18 -05:00
Charlie Marsh
812b227334
Avoid flagging typed exceptions in tuples ( #2728 )
2023-02-10 13:24:45 -05:00
Martin Fischer
6f58717ba4
refactor: Stop including Rule::code() in pycodestyle .snap filenames
2023-02-10 13:15:47 -05:00
Florian Best
8aab96fb9e
feat(isort): Implement known-local-folder ( #2657 )
2023-02-10 13:15:34 -05:00
Nick Pope
9e6f7153a9
Handle more functions that never return in RET503 ( #2719 )
2023-02-10 12:09:05 -05:00
Peter Pentchev
cda2ff0b18
Handle functions that never return in RET503 ( #2701 )
2023-02-10 09:28:34 -05:00
Martin Fischer
ec63658250
Disallow rule names starting with avoid-*
2023-02-10 09:25:29 -05:00
Martin Fischer
1a97de0b01
Disallow rule names starting with uses-*
2023-02-10 09:25:29 -05:00
Martin Fischer
1cbe48522e
Disallow rule names ending in *-used
2023-02-10 09:25:29 -05:00
Martin Fischer
bfbde537af
Disallow rule names starting with do-not-*
2023-02-10 09:25:29 -05:00
Martin Fischer
cba91b758b
Add test for rule names
2023-02-10 09:25:29 -05:00
Martin Fischer
0bab642f5a
Describe rule naming convention in CONTRIBUTING.md
2023-02-10 09:25:29 -05:00
Martin Fischer
bd09a1819f
Drop unused once_cell dependency from ruff_macros
2023-02-10 09:25:29 -05:00
Martin Fischer
682d206992
refactor: Reduce code duplication
2023-02-10 08:24:22 -05:00
Martin Fischer
c32441e4ab
refactor: Use format! keyword arguments
2023-02-10 08:24:22 -05:00
Martin Fischer
6f16f1c39b
refactor: Reduce code duplication
2023-02-10 08:24:22 -05:00
Martin Fischer
9011456aa1
refactor: Simplify attribute handling in rule_code_prefix
...
if_all_same(codes.values().cloned()).unwrap_or_default()
was quite unreadable because it wasn't obvious that codes.values() are
the prefixes. It's better to introduce another Map rather than having
Maps within Maps.
2023-02-10 08:24:22 -05:00
Martin Fischer
fa191cceeb
refactor: Avoid implicit precondition
2023-02-10 08:24:22 -05:00
Charlie Marsh
ac6c3affdd
Remove public Rust API ( #2709 )
2023-02-09 23:16:49 -05:00
Charlie Marsh
9a018c1650
Import AutofixKind from violation
2023-02-09 23:06:02 -05:00
Charlie Marsh
0aef5c67a3
Remove src/registry.rs
2023-02-09 23:04:28 -05:00
Charlie Marsh
a048594416
Gate Path.readlink()
behind Python 3.9+ guard ( #2708 )
2023-02-09 22:57:31 -05:00
Charlie Marsh
5437f1299b
Remove lifetimes from Printer ( #2704 )
2023-02-09 21:44:15 -05:00
Charlie Marsh
41c0608a69
Add test module a test-only module ( #2703 )
2023-02-09 21:28:10 -05:00
messense
eb0d42187f
Manage LibCST and RustPython with cargo workspace dependencies ( #2700 )
2023-02-09 20:49:50 -05:00
Colin Delahunty
48daa0f0ca
[pylint
]: bad-string-format-type ( #2572 )
2023-02-09 20:08:56 -05:00
Charlie Marsh
417fe4355f
Add colors to statistics output ( #2699 )
2023-02-09 19:40:29 -05:00
Florian Best
a129181407
feat(cli): let --statistics show fixable codes ( #2659 )
2023-02-09 19:36:31 -05:00
Matt Oberle
fc628de667
Implement bandit's 'hardcoded-sql-expressions' S608 ( #2698 )
...
This is an attempt to implement `bandit` rule `B608` (renamed here `S608`).
- https://bandit.readthedocs.io/en/latest/plugins/b608_hardcoded_sql_expressions.html
The rule inspects strings constructed via `+`, `%`, `.format`, and `f""`.
- `+` and `%` via `BinOp`
- `.format` via `Call`
- `f""` via `JoinedString`
Any SQL-ish strings that use Python string formatting are flagged.
The expressions and targeted expression types for the rule come from here:
- 7104b336d3/bandit/plugins/injection_sql.py
> Related Issue: https://github.com/charliermarsh/ruff/issues/1646
2023-02-09 19:28:17 -05:00
Charlie Marsh
9e2418097c
Run cargo dev generate-all
2023-02-09 19:14:02 -05:00
Charlie Marsh
d4e5639aaf
Add flake8-pyi
to CONTRIBUTING.md
2023-02-09 19:04:55 -05:00
Steve Dignam
67e58a024a
Add flake8-pyi with one rule ( #2682 )
...
Add basic scaffold for [flake8-pyi](https://github.com/PyCQA/flake8-pyi ) and the first rule, Y001
rel: https://github.com/charliermarsh/ruff/issues/848
2023-02-09 19:03:11 -05:00
Charlie Marsh
233be0e074
Suppress parse errors with explicit # noqa: E999
directives ( #2697 )
2023-02-09 18:24:19 -05:00
Nick Pope
7750087f56
Remove duplicate documentation for TRY002
( #2692 )
2023-02-09 12:08:00 -05:00
Charlie Marsh
7d5fb0de8a
Add documentation for mccabe, isort, and flake8-annotations ( #2691 )
2023-02-09 11:56:18 -05:00
Charlie Marsh
8a98cfc4b8
Treat re-exported annotations as used-at-runtime ( #2689 )
2023-02-09 11:22:15 -05:00
Charlie Marsh
54d1719424
Hide rule configuration settings on CLI ( #2687 )
2023-02-09 11:13:04 -05:00
Charlie Marsh
0f622f0126
Upgrade RustPython to pull in newline-handling optimizations ( #2688 )
2023-02-09 11:12:43 -05:00
Charlie Marsh
739a92e99d
Implement compound-statements (E701, E702, E703, E704) ( #2680 )
2023-02-08 22:57:39 -05:00
Charlie Marsh
5a07c9f57c
Only include rule links once in README ( #2678 )
2023-02-08 21:48:05 -05:00
Colin Delahunty
31027497c6
[flake8-bandit
]: try-except-continue ( #2674 )
2023-02-08 21:44:01 -05:00
Charlie Marsh
dabfdf718e
Mark flake8-simplify rules as unfixable in non-fixable cases ( #2676 )
2023-02-08 21:28:28 -05:00
Charlie Marsh
5829bae976
Support callable decorators in classmethod_decorators et al ( #2675 )
2023-02-08 21:11:36 -05:00
Charlie Marsh
ff3665a24b
Mark RUF005 as fixable
2023-02-08 18:02:33 -05:00
Charlie Marsh
125615af12
Bump version to 0.0.244
2023-02-08 17:28:59 -05:00
Charlie Marsh
6339f8e009
Use separate exit codes for fatal errors vs. lint errors ( #2670 )
2023-02-08 15:21:15 -05:00
Charlie Marsh
81abc5d7d8
Move error and warning messages into log macro ( #2669 )
2023-02-08 14:39:09 -05:00
Charlie Marsh
75fad989f4
Add --exit-non-zero-on-fix
( #2668 )
2023-02-08 14:27:54 -05:00
Charlie Marsh
cb4a221905
Treat annotated assignments in class and module scopes as runtime ( #2667 )
2023-02-08 13:59:25 -05:00
Charlie Marsh
286d8c18dd
Remove ExprKind::Call from call path collection ( #2666 )
2023-02-08 13:35:18 -05:00