Charlie Marsh
c3917eab38
Revert "Implement `flake8-i18n` ( #3741 )" ( #3765 )
2023-03-27 21:14:38 +00:00
JBLDSKY
0eb5a22dd1
[`flake8-pyi`] Implement `PYI012` ( #3743 )
2023-03-27 18:27:24 +00:00
Charlie Marsh
450c6780ff
Avoid `useless-import alias` (`C0414`) in `.pyi` files ( #3761 )
2023-03-27 18:27:03 +00:00
Leiser Fernández Gallo
5cb120327c
Implement `flake8-i18n` ( #3741 )
2023-03-27 18:03:39 +00:00
trag1c
8dbffb576d
Removed unnecessary pipe escape ( #3760 )
2023-03-27 13:49:47 -04:00
Charlie Marsh
31fff4b10e
Disallow some restriction lints ( #3754 )
2023-03-26 23:20:20 +00:00
Jonathan Plasse
2326335f5c
Improve performance of statistics ( #3751 )
2023-03-26 18:46:44 -04:00
Charlie Marsh
6ed6da3e82
Move `fix::FixMode` to `flags::FixMode` ( #3753 )
2023-03-26 21:40:06 +00:00
Jonathan Plasse
cd75b57036
Sort statistics by count ( #3748 )
2023-03-26 16:45:35 -04:00
Charlie Marsh
e603382cf0
Allow diagnostics to generate multi-edit fixes ( #3709 )
2023-03-26 16:45:19 -04:00
Charlie Marsh
32be63fd1e
Avoid overlong-line errors for lines that end with URLs ( #3663 )
2023-03-26 18:17:35 +00:00
Jonathan Plasse
d594179275
Fix `SIM222` and `SIM223` false negatives ( #3740 )
2023-03-26 18:09:11 +00:00
Agriya Khetarpal
c0befb4670
Use `wild::args()` and add `wild` as a dependency ( #3739 )
2023-03-26 14:32:45 +00:00
Charlie Marsh
a66481ed28
Rename setter methods on `Diagnostic` ( #3738 )
2023-03-26 10:28:30 -04:00
Charlie Marsh
5c7898124f
Traverse over nested string type annotations ( #3724 )
2023-03-25 21:56:09 -04:00
Jonathan Plasse
50a7916e84
[`pydocstyle`] Implement autofix for `D403` ( #3731 )
2023-03-25 19:21:45 +00:00
Dhruv Manilawala
2659336ed1
Add support for `.log(level, msg)` calls in `flake8-logging-format` ( #3726 )
2023-03-25 15:55:53 +00:00
Jonathan Plasse
8ac7584756
[`flake8-pyi`] Implement `PYI015` ( #3728 )
2023-03-25 15:48:11 +00:00
Jonathan Plasse
4a1740a4c4
[`flake8-pyi`] Add autofix for `PYI014` ( #3729 )
2023-03-25 15:41:11 +00:00
Charlie Marsh
2083134a96
Rename `Fix` to `Edit` ( #3702 )
2023-03-24 19:29:14 -04:00
Charlie Marsh
c721eedc37
Remove `'b` lifetime from `Checker` ( #3723 )
2023-03-24 21:42:18 +00:00
Dhruv Manilawala
c1d89d8c93
[`flake8-bugbear`]: Implement rule `B031` ( #3680 )
2023-03-24 17:26:11 -04:00
Dhruv Manilawala
63adf9f5e8
Allow aliased `logging` module as a logger candidate ( #3718 )
2023-03-24 17:19:09 -04:00
Micha Reiser
7af83460ce
Use unicode-width to determine line-length instead of character count ( #3714 )
2023-03-24 17:17:05 -04:00
Jonathan Plasse
dc4d7619ee
Add `Diagnostic.try_amend()` to simplify error handling ( #3701 )
2023-03-24 17:10:11 -04:00
Jonathan Plasse
1bac206995
Revert "Replace `logical_lines` feature with `debug_assertions` ( #3648 )" ( #3708 )
2023-03-23 23:42:56 -04:00
Jonathan Plasse
efc6e8cb39
Exempt `PLR1711` and `RET501` if non-`None` annotation ( #3705 )
2023-03-24 03:11:58 +00:00
Jonathan Plasse
7da06b9741
Allow simple container literals as default values ( #3703 )
2023-03-23 22:51:36 -04:00
Charlie Marsh
0f95056f13
Avoid panics for implicitly concatenated forward references ( #3700 )
2023-03-23 19:13:50 -04:00
Charlie Marsh
028329854b
Avoid parsing f-strings in type annotations ( #3699 )
2023-03-23 18:51:44 -04:00
Charlie Marsh
ba43d6bd0b
Avoid parsing `ForwardRef` contents as type references ( #3698 )
2023-03-23 18:44:02 -04:00
Charlie Marsh
e8d17d23cb
Expand the scope of useless-expression (B018) ( #3455 )
2023-03-23 18:33:58 -04:00
Jonathan Plasse
aea925a898
Fix SIM118 auto-fix ( #3695 )
2023-03-23 17:14:56 -04:00
Charlie Marsh
f58345dee3
Bump version to v0.0.259 ( #3691 )
2023-03-23 14:52:42 -04:00
Charlie Marsh
71c0da27bb
Avoid nested loops in missing_whitespace ( #3688 )
2023-03-23 14:18:59 -04:00
Charlie Marsh
8a2d1a3029
Respect all rule-exemption sources when suppressing parser errors ( #3665 )
2023-03-23 13:36:48 -04:00
Micha Reiser
6161e56ea4
Fix RuleSet.remove ( #3685 )
2023-03-23 17:01:37 +00:00
Charlie Marsh
189c9d4683
Add dedicated structs for `BindingKind` variants ( #3672 )
2023-03-22 19:08:48 -04:00
Charlie Marsh
615887a7fe
Bump version to v0.0.258 ( #3671 )
2023-03-22 15:02:57 -04:00
Charlie Marsh
07808a58f2
Refactor out common exemption-parsing logic ( #3670 )
2023-03-22 15:02:07 -04:00
Ran Benita
fe568c08d2
isort: fix bad interaction between `force-sort-within-sections` and `force-to-top` ( #3645 )
2023-03-22 14:00:00 -04:00
Charlie Marsh
7741d43ae5
Allow `pairwise` diagnostics for `zip(..., strict=True)` ( #3669 )
2023-03-22 13:03:43 -04:00
Charlie Marsh
1b3e54231c
Flag, but don't fix, unused imports in `ModuleNotFoundError` blocks ( #3658 )
2023-03-22 13:03:30 -04:00
Charlie Marsh
3a8e98341b
Enable autofix for annotations within 'simple' string literals ( #3657 )
2023-03-22 12:45:51 -04:00
kyoto7250
8593739f88
Check indentation level when executing `E231` ( #3668 )
2023-03-22 12:32:00 -04:00
Charlie Marsh
242dd3dae1
Rename remaining `use-*` rules ( #3661 )
2023-03-22 11:36:01 -04:00
Charlie Marsh
875f61cb62
Rename `pathlib` rules to match updated naming convention ( #3660 )
2023-03-22 11:35:45 -04:00
Dhruv Manilawala
9e61956711
[`flake8-django`]: Implement rule DJ012 ( #3659 )
2023-03-22 03:07:58 +00:00
Jonathan Plasse
5eae3fbbfb
Avoid `RUF007` fixes for more than two arguments ( #3654 )
2023-03-21 22:17:31 +00:00
Colin Delahunty
41e38ffa98
[`flake8-bandit`]: Implement deny-list rules for suspicious member calls ( #3239 )
2023-03-21 15:11:52 -04:00
Charlie Marsh
27903cdb11
Replace `logical_lines` feature with `debug_assertions` ( #3648 )
2023-03-21 12:16:41 -04:00
Charlie Marsh
3b1709ba1e
Avoid attempting infinite open fix with re-bound builtin ( #3650 )
2023-03-21 15:32:31 +00:00
Dhruv Manilawala
33394e4a69
docs: all `flake8-comprehension` rules ( #3631 )
2023-03-21 14:28:19 +00:00
Charlie Marsh
7b9bdc494a
Consider same-site fixes to be overlapping ( #3638 )
2023-03-21 10:09:47 -04:00
Micha Reiser
f59a22b6e5
Remove unused dependencies ( #3644 )
2023-03-21 11:02:41 +01:00
Jonathan Plasse
b5edc6dfc9
Add autofix functionality for `F523` ( #3613 )
2023-03-21 03:55:23 +00:00
Charlie Marsh
626169e2ef
Avoid raising PEP 604 errors with forward-referenced members ( #3640 )
2023-03-20 23:49:41 -04:00
Charlie Marsh
e9f359ac5e
Convert single-argument %-style format calls ( #3600 )
2023-03-21 03:35:10 +00:00
Jacob Latonis
318c2c80e2
`pylint`: Implement `binary-op-exception` (`PLW0711`) ( #3639 )
2023-03-21 03:33:40 +00:00
Jonathan Plasse
22a4ab51f9
Handle `UP032` autofix with adjacent keywords ( #3636 )
2023-03-21 00:17:45 +00:00
Jonathan Plasse
f70a49ed8b
Add autofix for magic methods (`ANN204`) ( #3633 )
2023-03-20 19:19:20 -04:00
Charlie Marsh
f039bf36a2
Avoid trimming escaped whitespace in D210 ( #3635 )
2023-03-20 17:17:42 -04:00
Jonathan Plasse
169dd72328
Fix TRY300 false positive ( #3634 )
2023-03-20 20:55:28 +00:00
Jonathan Plasse
fd39ec4bdd
Merge Availability and AutofixKind ( #3629 )
2023-03-20 16:45:33 +00:00
Charlie Marsh
7c0f17279c
Flag PEP 585 and PEP 604 violations in quoted annotations ( #3593 )
2023-03-20 11:15:44 -04:00
konstin
81d0884974
Add basic jupyter notebook support ( #3440 )
...
* Add basic jupyter notebook support behind a feature flag
* Address review comments
* Rename in separate commit to make both git and clippy happy
* cfg(feature = "jupyter_notebook") another test
* Address more review comments
* Address more review comments
* and clippy and windows
* More review comment
2023-03-20 12:06:01 +01:00
Jacob Latonis
a45753f462
[`pylint`]: Implement `assert-on-string-literal` (`W0129`) ( #3610 )
2023-03-19 23:45:51 -04:00
Zhengbo Wang
b08326162b
Doc/CLN: pass pre-commit ( #3604 )
2023-03-19 19:20:11 +00:00
Dhruv Manilawala
3a65af4dae
feat: update C416 with dict comprehension (autofixable) ( #3605 )
2023-03-19 18:37:28 +00:00
Ville Lindholm
474aa0b196
Fix infinite loop due to rules `D207` & `W605` ( #3609 )
2023-03-19 18:29:13 +00:00
Charlie Marsh
4892167217
Avoid panics for implicitly-concatenated docstrings ( #3584 )
...
## Summary
In the rare event that a docstring contains an implicit string concatenation, we currently have the potential to panic, because we assume that if a string starts with triple quotes, it _ends_ with triple quotes. But with implicit concatenation, that's not the case: a single `Expr` could start and end with different quote styles, because it can contain multiple string tokens.
Supporting these "properly" is pretty hard. In some cases it's hard to even know what the "right" behavior is. So for now, I'm just detecting and warning, which is better than a panic.
Closes #3543 .
Closes #3585 .
2023-03-19 14:16:50 -04:00
Micha Reiser
a5494b8541
Bitflag based RuleSet ( #3606 )
2023-03-19 17:09:06 +01:00
Micha Reiser
9ac9a1c69e
Gracefully handle lint panics ( #3509 )
2023-03-19 17:08:38 +01:00
Rogdham
f06dff8af8
Change broken links in README to beta.ruff.rs ( #3607 )
2023-03-19 15:17:44 +00:00
Charlie Marsh
fe7443ce2f
Use `any_enabled` in AST checker ( #3601 )
2023-03-19 10:44:33 -04:00
Charlie Marsh
4ffcd8366a
Rename a variety of rules to match updated conventions ( #3283 )
2023-03-18 17:35:59 -04:00
Charlie Marsh
dfb772c6f1
Avoid removing comment hash for noqa's with trailing content ( #3589 )
2023-03-18 18:48:52 +00:00
Jonathan Plasse
c21eb06922
Fix D417 false positive ( #3596 )
2023-03-18 13:14:03 -04:00
Charlie Marsh
fa04861724
Check exclusions prior to resolving `pyproject.toml` files ( #3588 )
2023-03-18 13:12:49 -04:00
Charlie Marsh
0c4926ff7b
Bump version to v0.0.257 ( #3591 )
2023-03-17 22:34:10 -04:00
tomecki
61653b9f27
[`pylint`] Implement `useless-return` (`R1711`) ( #3116 )
2023-03-17 18:30:32 -04:00
Charlie Marsh
8dd3959e74
Update output in `resources/test/project/README.md` ( #3587 )
2023-03-17 21:51:03 +00:00
Charlie Marsh
50f9db21da
Enable ANSI colors on Windows 10 ( #3583 )
2023-03-17 17:34:39 -04:00
Tomer Chachamu
1dd3cbd047
[`pylint`] invalid-characters-* ( #3552 )
2023-03-17 19:30:41 +00:00
Johan
bd935cbd49
[`flake8-bugbear`] Add `no-explicit-stacklevel` (`B028`) ( #3550 )
2023-03-17 19:20:08 +00:00
Charlie Marsh
babd0a05ac
Avoid adding dashed line outside of docstring ( #3581 )
2023-03-17 14:40:32 -04:00
Micha Reiser
87fab4a2e1
Benchmark all rules ( #3570 )
2023-03-17 19:29:39 +01:00
Charlie Marsh
2e21920adf
Respect `type` overrides in E721 ( #3582 )
2023-03-17 14:29:05 -04:00
Micha Reiser
dedf4cbdeb
refactor: Move scope and binding types to `scope.rs` ( #3573 )
2023-03-17 17:31:33 +01:00
Micha Reiser
92179e6369
Scope and Binding IDs ( #3572 )
2023-03-17 17:12:27 +01:00
Evan Rittenhouse
33d2457909
Prefer `itertools.pairwise()` over `zip()` for successive pairs (`RUF007`) ( #3501 )
2023-03-16 23:50:45 -04:00
Charlie Marsh
373a77e8c2
Avoid C1901 violations within subscripts ( #3517 )
2023-03-17 02:52:05 +00:00
Jacob Latonis
73df267635
[`pylint`]: Implement `continue-in-finally` (`E0116`) ( #3541 )
2023-03-17 02:47:49 +00:00
Jonathan Plasse
f5e5caaa25
Fix autofix conflict between `D209` and `D400` ( #3564 )
2023-03-17 02:36:25 +00:00
Charlie Marsh
e0df62b841
Rewrite mock import with starred imports ( #3566 )
2023-03-16 20:54:29 -04:00
Micha Reiser
eff84442bc
refactor: Add Copy implementation to Rule ( #3556 )
2023-03-16 17:50:18 +01:00
Edgar R. M
9ae9cc9d2f
Use `value > max` style in pylint and mccabe messages ( #3553 )
2023-03-16 01:37:25 -04:00
Charlie Marsh
e636c5fcf0
Avoid unused argument violations in .pyi files ( #3533 )
2023-03-15 03:17:19 +00:00
Charlie Marsh
12dfd57211
Bump version to v0.0.256 ( #3531 )
2023-03-14 22:52:21 -04:00
Charlie Marsh
d188d242a0
Avoid tracking as-imports separately with force-single-line ( #3530 )
2023-03-15 02:26:01 +00:00