Commit Graph

710 Commits

Author SHA1 Message Date
Ran Benita d2f2544f6e
flake8-pyi: fix PYI015 false positive on assignment of TypeVar & friends (#3861) 2023-04-03 11:28:46 -04:00
Charlie Marsh 25771cd4b9
Use references for `Export` binding type (#3853) 2023-04-03 15:26:42 +00:00
Charlie Marsh 924bebbb4a
Change "indexes" to "indices" in various contexts (#3856) 2023-04-02 23:08:03 +00:00
Charlie Marsh 08e5b3fa61
Make `collect_call_path` return an `Option` (#3849) 2023-04-01 22:29:32 -04:00
Charlie Marsh d822e08111
Move `CallPath` into its own module (#3847) 2023-04-01 11:25:04 -04:00
Charlie Marsh 2f90157ce2
Move logging resolver into `logging.rs` (#3843) 2023-04-01 03:50:44 +00:00
Charlie Marsh 88308ef9cc
Move `Binding` structs out of `scope.rs` (#3842) 2023-03-31 23:49:48 -04:00
Charlie Marsh 6d80c79bac
Combine `operations.rs` and `helpers.rs` (#3841) 2023-04-01 03:40:34 +00:00
Charlie Marsh 2fbc620ad3
Move `__all__` utilities to `all.rs` (#3840) 2023-04-01 03:31:15 +00:00
Charlie Marsh 27e40e9b31
Remove `helpers.rs` dependency on `Binding` (#3839) 2023-04-01 03:19:45 +00:00
Charlie Marsh b6276e2d95
Move f-string identification into rule module (#3838) 2023-03-31 23:10:11 -04:00
Charlie Marsh 66d72b1c7b
Move keyword checks into `is_identifier` (#3834) 2023-03-31 16:56:33 -04:00
Jonathan Plasse 968c7df770
Fix `is_module_name()` and improve perf of `is_identifier()` (#3795) 2023-03-31 15:15:36 -04:00
Jonathan Plasse fe38597279
Fix `SIM222` and `SIM223` false positive (#3832) 2023-03-31 14:50:35 -04:00
Micha Reiser 48d8680e71
Ambiguous unicode, only test unicode characters (#3814) 2023-03-31 18:03:00 +01:00
Charlie Marsh 82584ad101
Extend `unncessary-generator-any-all` to set comprehensions (#3824) 2023-03-31 16:29:25 +00:00
Charlie Marsh dfc872c9a0
Track star imports on `Scope` directly (#3822) 2023-03-31 15:01:12 +00:00
Charlie Marsh cf7e1ddd08
Remove some `usize` references (#3819) 2023-03-30 17:35:42 -04:00
Charlie Marsh 9de1f82658
Avoid `unnecessary-comprehension-any-all` for async generators (#3823) 2023-03-30 18:43:59 +00:00
Charlie Marsh 54ad9397e5
Flag non-`Name` expressions in `duplicate-isinstance-call` (#3817) 2023-03-30 12:19:53 -04:00
Jonathan Plasse 29c8b75fd4
Ignore `collapsible-if` violations for `if False:` and `if True:` (#3732) 2023-03-30 15:52:43 +00:00
Charlie Marsh 0b586d5451
Use `panic` instead of `unreachable` for invalid arguments (#3816) 2023-03-30 15:40:53 +00:00
Charlie Marsh 01357f62e5
Add import insertion support to autofix capabilities (#3787) 2023-03-30 15:33:46 +00:00
Micha Reiser d7113d3995
refactor: `StateMachine` use `match` statement (#3811) 2023-03-30 15:55:54 +02:00
Charlie Marsh f79506f5a4
Move some generic structs out of `isort` (#3788) 2023-03-30 08:58:01 -04:00
Dhruv Manilawala 44ae3237b8
Additional simple magic return types (#3805) 2023-03-30 08:57:49 -04:00
konstin f4cda31708
Use crates.io version of pep440_rs (#3812)
* Use crates.io version of pep440_rs

* Update Cargo.lock
2023-03-30 12:47:07 +00:00
Charlie Marsh 4328448a2f
Use multi-fix semantics for `inplace` removal (#3804) 2023-03-30 00:16:43 +00:00
Charlie Marsh 88298759ce
Misc. follow-up changes to #3802 (#3803) 2023-03-29 19:18:36 -04:00
Charlie Marsh 3c0e789b19
Improve robustness of argument removal for `encode` calls (#3802) 2023-03-29 23:07:13 +00:00
Charlie Marsh 8601dcc09b
Add import name resolution to `Context` (#3777) 2023-03-29 21:47:50 +00:00
Charlie Marsh 134fdd1609
Remove star-import handling from `sys-exit-alias` (#3776) 2023-03-29 21:33:50 +00:00
Charlie Marsh 2e6eddc7bd
Improve top-of-file insertions for required imports (#3779) 2023-03-29 21:25:39 +00:00
Jonathan Plasse cb588d1d6d
Allow `TID252` to fix all valid module paths (#3796) 2023-03-29 15:13:12 -04:00
Charlie Marsh 9d3b8eb67b
Bump version to v0.0.260 (#3799) 2023-03-29 14:51:50 -04:00
Andy Freeland 7d962bf80c
[`flake8-bugbear`] Allow `pathlib.Path()` in `B008` (#3794) 2023-03-29 15:42:43 +00:00
Micha Reiser 595cd065f3
Reduce explcit clones (#3793) 2023-03-29 15:15:14 +02:00
Anže Starič b6f1fed424
[`isort`]: support submodules in known_(first|third)_party config options (#3768) 2023-03-29 03:53:38 +00:00
Jonathan Plasse 5501fc9572
Exempt return with side effects for TRY300 (#3780) 2023-03-28 19:52:05 -04:00
Leiser Fernández Gallo 224e85c6d7
Implement `flake8-gettext` (#3785) 2023-03-28 23:32:02 +00:00
Charlie Marsh f322bcd2bd
Minor nits on reference names (#3786) 2023-03-28 22:18:19 +00:00
Charlie Marsh 22d5b0071d
Rename `end_of_statement` to `end_of_last_statement` (#3775) 2023-03-28 12:31:06 -04:00
Charlie Marsh 990b378c4d
Set parents even in same-line cases (#3773) 2023-03-28 12:09:30 -04:00
Charlie Marsh e88fbae926
Use import alias locations for `pep8-naming` import rules (#3772) 2023-03-28 11:41:23 -04:00
Charlie Marsh 81de3a16bc
Include `with` statements in complexity calculation (#3771) 2023-03-28 15:20:22 +00:00
Andy Freeland bfecf684ce
[`flake8-bugbear`] Add more immutable functions for `B008` (#3764) 2023-03-28 10:50:05 -04:00
konstin 756e9956a2
Fix `cargo test --doc` (#3766) 2023-03-28 11:36:07 +00:00
Micha Reiser f68c26a506
perf(pycodestyle): Initialize Stylist from tokens (#3757) 2023-03-28 11:53:35 +02:00
Micha Reiser 000394f428
perf(pycodestyle): Introduce TokenKind (#3745) 2023-03-28 11:22:39 +02:00
Micha Reiser 2fdf98ef4e
perf(pycodestyle): Refactor checks to iterate over tokens insteadof text (#3736) 2023-03-28 10:37:13 +02:00
Micha Reiser 1d724b1495
perf(pycodestyle): Remove regex captures (#3735) 2023-03-28 09:50:34 +02:00
Micha Reiser 113a8b8fda
perf(pycodestyle): Reduce allocations when computing logical lines (#3715) 2023-03-28 09:09:27 +02:00
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