Commit Graph

976 Commits

Author SHA1 Message Date
Dhruv Manilawala 4ac506526b
Avoid `D403` if first char cannot be uppercased (#4283) 2023-05-08 15:33:24 -04:00
Calum Young cd41de2588
Check docs formatting check (#4270) 2023-05-08 19:03:22 +00:00
Dhruv Manilawala 3344d367f5
Avoid fixing `PD002` in a lambda expression (#4286) 2023-05-08 18:24:27 +00:00
Aarni Koskela d7a369e7dc
Update confusable character mapping (#4274) 2023-05-08 14:20:44 -04:00
Jonathan Plasse 1b1788c8ad
Fix replace_whitespace() tabulation to space (#4226)
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-08 12:03:04 +00:00
Micha Reiser 4d5a339d9e
Remove `Fix::from(Edit)` and add deprecated replacement methods to `Diagnostic`s (#4275) 2023-05-08 10:25:50 +00:00
Zanie Adkins 0801f14046
Refactor `Fix` and `Edit` API (#4198) 2023-05-08 11:57:03 +02:00
Trevor McCulloch 3beff29026
[`pylint`] Implement `nested-min-max` (`W3301`) (#4200) 2023-05-07 03:14:14 +00:00
Jerome Leclanche 5ac2c7d293
Add .git-rewrite folder to default ignored folder paths (#4261) 2023-05-06 22:40:38 -04:00
Charlie Marsh e66fdb83d0
Respect insertion location when importing symbols (#4258) 2023-05-07 02:32:40 +00:00
Charlie Marsh a95bafefb0
Fix `RET504` example in docs (#4260) 2023-05-06 16:56:52 -04:00
Charlie Marsh 539af34f58
Add a utility method to detect top-level state (#4259) 2023-05-06 20:24:27 +00:00
Charlie Marsh 983bb31577
Remove `RefEquality` usages from `Context` (#4257) 2023-05-06 15:55:14 -04:00
Charlie Marsh b98b604071
Remove some deferred `&Stmt` references (#4256) 2023-05-06 18:42:35 +00:00
Charlie Marsh cd27b39aff
Re-order some code in scope.rs (#4255) 2023-05-06 16:36:20 +00:00
Charlie Marsh a9fc648faf
Use `NodeId` for `Binding` source (#4234) 2023-05-06 16:20:08 +00:00
Charlie Marsh c1f0661225
Replace `parents` statement stack with a `Nodes` abstraction (#4233) 2023-05-06 16:12:41 +00:00
Dhruv Manilawala 2c91412321
Consider Flask app logger as logger candidate (#4253) 2023-05-06 11:31:10 -04:00
Charlie Marsh 11e1380df4
Bump version to 0.0.265 (#4248) 2023-05-05 13:16:05 -04:00
Micha Reiser e93f378635
Refactor whitespace around operator (#4223) 2023-05-05 09:37:56 +02:00
Micha Reiser 2124feb0e7
Fail lint tests if the fix creates a syntax error (#4202) 2023-05-05 07:59:33 +02:00
Charlie Marsh c0e7269b07
Update doc defaults for `section-order` (#4232) 2023-05-04 21:35:27 +00:00
Chris Chan c2921e957b
[`pylint`] Implement import-self (`W0406`) (#4154) 2023-05-04 16:05:15 -04:00
Charlie Marsh 93cfce674a
Ignore __debuggerskip__ in unused variable checks (#4229) 2023-05-04 15:45:49 -04:00
Charlie Marsh b71cc3789f
Change `--fix-only` exit semantics to mirror `--fix` (#4146) 2023-05-04 19:03:15 +00:00
Zanie Adkins 717128112d
Fix panic in pydocstyle D214 when docstring indentation is empty (#4216) 2023-05-04 14:42:34 -04:00
Arya Kumar e9e194ab32
[`flake8-pyi`] Implement `PYI042` and `PYI043` (#4214) 2023-05-04 14:35:26 -04:00
Calum Young 890e630c41
Allow linking to individual rules (#4158) 2023-05-04 13:43:53 -04:00
Aaron Cunningham d78287540d
Update B027 to support autofixing (#4178) 2023-05-04 16:36:32 +00:00
Charlie Marsh 494e807315
Add space when joining rule codes for debug messages (#4225) 2023-05-04 15:34:34 +00:00
Tom Kuson 6db1a32eb9
Add docs for PLC rules (#4224) 2023-05-04 10:56:00 -04:00
Dhruv Manilawala bb2cbf1f25
End of statement insertion should occur after newline (#4215) 2023-05-04 16:17:41 +02:00
konstin badfdab61a
Show rule codes on autofix failure (#4220) 2023-05-04 15:25:07 +02:00
Dhruv Manilawala 59d40f9f81
Show settings path in `--show-settings` output (#4199) 2023-05-04 08:22:31 +02:00
Arya Kumar 37aae666c7
[flake8-pyi] PYI020 (#4211) 2023-05-03 22:37:32 -04:00
Leiser Fernández Gallo 460023a959
Fix era panic caused by out of bound edition (#4206) 2023-05-03 15:48:43 +02:00
Aarni Koskela d0e3ca29d9
Print out autofix-broken or non-converging code when debugging (#4201) 2023-05-03 13:50:03 +02:00
Micha Reiser b14358fbfe
Render tabs as 4 spaces in diagnostics (#4132) 2023-05-02 13:14:02 +00:00
wookie184 ac600bb3da
Warn on PEP 604 syntax not in an annotation, but don't autofix (#4170) 2023-05-01 23:49:20 -07:00
Charlie Marsh 8cb76f85eb
Bump version to 0.0.264 (#4179) 2023-05-01 23:33:38 -07:00
Charlie Marsh 56c45013c2
Allow boolean parameters for `pytest.param` (#4176) 2023-05-02 01:07:50 +00:00
Calum Young a4ce746892
Reference related settings in rules (#4157) 2023-05-02 00:59:00 +00:00
Calum Young 2d6d51f3a1
Add `flake8-return` docs (#4164) 2023-05-02 00:53:46 +00:00
Jonathan Plasse 814731364a
Fix UP032 auto-fix (#4165) 2023-04-30 16:57:41 -04:00
Jonathan Plasse 8c97e7922b
Fix F811 false positive with match (#4161) 2023-04-30 14:39:45 -04:00
Charlie Marsh 64b7280eb8
Respect parent-scoping rules for `NamedExpr` assignments (#4145) 2023-04-29 22:45:30 +00:00
Evan Rittenhouse 8d64747d34
Remove `pyright` comment prefix from PYI033 checks (#4152) 2023-04-29 18:41:04 -04:00
Charlie Marsh 2115d99c43
Remove `ScopeStack` in favor of child-parent `ScopeId` pointers (#4138) 2023-04-29 18:23:51 -04:00
Calum Young 39ed75f643
Document `flake8-unused-arguments` (#4147) 2023-04-29 19:17:50 +00:00
Calum Young 8f61eae1e7
Add remaining `pep8-naming` docs (#4149) 2023-04-29 15:13:10 -04:00
Calum Young f0f4bf2929
Move typos to pre-commit config (#4148) 2023-04-29 12:13:35 -04:00
Calum Young 03144b2fad
Document `flake8-commas` (#4142) 2023-04-29 03:24:15 +00:00
Calum Young 0172cc51a7
Document `flake8-print` (#4144) 2023-04-29 03:19:00 +00:00
Calum Young 12d64a223b
Document RUF100 (#4141) 2023-04-28 22:14:15 +00:00
Charlie Marsh 432ea6f2e2
Tweak rule documentation for `B008` (#4137) 2023-04-28 01:29:03 +00:00
Evan Rittenhouse b34804ceb5
Make D410/D411 autofixes mutually exclusive (#4110) 2023-04-28 01:24:35 +00:00
Moritz Sauter ee6d8f7467
Add bugbear immutable functions as allowed in dataclasses (#4122) 2023-04-27 21:23:06 -04:00
Dhruv Manilawala 089b64e9c1
Autofix `EM101`, `EM102`, `EM103` if possible (#4123) 2023-04-27 18:53:27 +00:00
Tom Kuson 3e81403fbe
Add pygrep-hooks documentation (#4131) 2023-04-27 18:33:07 +00:00
Charlie Marsh 3c9f5e2fdc
Preserve star-handling special-casing for force-single-line (#4129) 2023-04-27 00:02:17 -04:00
Micha Reiser 17db2e2a62
Fix B023 shadowed variables in nested functions (#4111) 2023-04-26 22:01:31 +01:00
Micha Reiser e04ef42334
Use `memchr` to speedup newline search on x86 (#3985) 2023-04-26 20:15:47 +01:00
Micha Reiser f3e6ddda62
perf(logical-lines): Various small perf improvements (#4022) 2023-04-26 20:10:35 +01:00
Micha Reiser cab65b25da
Replace row/column based `Location` with byte-offsets. (#3931) 2023-04-26 18:11:02 +00:00
Charlie Marsh ee91598835
Tweak `--show-fixes` documentation (#4117) 2023-04-26 15:15:56 +00:00
Dhruv Manilawala b9c06b48e1
Document that `--diff` implies `--fix-only` (#4098) 2023-04-25 21:19:44 -06:00
Charlie Marsh 7266eb0d69
Add support for providing command-line arguments via `argfile` (#4087) 2023-04-25 17:58:21 -06:00
Jonathan Plasse 4df7bc0bcd
Fix `E713` and `E714` false positives for multiple comparisons (#4083) 2023-04-25 11:37:56 -06:00
Charlie Marsh fd7ccb4c9e
Bump version to 0.0.263 (#4086) 2023-04-24 23:32:29 -06:00
Evan Rittenhouse ae6f38344a
Unify positional and keyword arguments when checking for missing arguments in docstring (#4067) 2023-04-25 05:32:15 +00:00
Trevor McCulloch bbf658d4c5
[`pylint`] Implement PLE0302 `unexpected-special-method-signature` (#4075) 2023-04-25 04:51:21 +00:00
Jonathan Plasse 1f3b0fd602
Fix `SIM222` and `SIM223` false positives and auto-fix (#4063) 2023-04-25 04:44:02 +00:00
Dhruv Manilawala 37483f3ac9
Ignore `ClassVar` annotation for `RUF008`, `RUF009` (#4081) 2023-04-24 23:58:30 +00:00
Jonathan Plasse 5e91211e6d
Add `in_boolean_test` to `Context` (#4072) 2023-04-23 23:18:23 -06:00
Jonathan Plasse df77595426
Move `Truthiness` into `ruff_python_ast` (#4071) 2023-04-24 04:54:31 +00:00
Charlie Marsh 407af6e0ae
Avoid infinite-propagation of inline comments when force-splitting imports (#4074) 2023-04-23 22:39:51 -06:00
Dhruv Manilawala d64146683e
Increment priority should be (branch-local, global) (#4070) 2023-04-23 00:04:15 -06:00
Charlie Marsh 0e7914010f
Misc. small clean-up of `flake8-import-conventions` rules (#4069) 2023-04-23 04:57:15 +00:00
Edgar R. M cfc7d8a2b5
[`flake8-import-conventions`] Implement new rule `ICN003` to ban `from ... import ...` for selected modules (#4040) 2023-04-23 04:40:36 +00:00
Tom Kuson f5cd659292
Add docs for `tryceratops` rules (#4042) 2023-04-23 04:35:56 +00:00
Charlie Marsh 260138b427
Use `Context` for pep8-naming helpers (#4068) 2023-04-22 18:44:54 -04:00
Jonathan Plasse 2da149fd7e
Ignore `N815` for `TypedDict` fields (#4066) 2023-04-22 18:17:14 -04:00
Micha Reiser e33887718d
Use Rust 1.69 (#4065) 2023-04-22 23:04:17 +01:00
Micha Reiser ba4f4f4672
Upgrade dependencies (#4064) 2023-04-22 18:04:01 +01:00
Alan Du 82abbc7234
[`flake8-bugbear`] Add pytest.raises(Exception) support to `B017` (#4052) 2023-04-21 03:43:01 +00:00
Dhruv Manilawala ba98149022
Avoid `RUF008` if field annotation is immutable (#4039) 2023-04-20 16:02:12 -04:00
Dhruv Manilawala 7fd44a3e12
Avoid `PYI015` for valid default value without annotation (#4043) 2023-04-20 15:45:47 -04:00
Evan Rittenhouse 6e8d561090
Support --fix in watch mode (#4035) 2023-04-19 23:33:12 -04:00
Charlie Marsh eed6866b7e
Add relative-path tests for `banned-api` (#4033) 2023-04-19 16:04:22 -04:00
Charlie Marsh 25a6bfa9ee
Bump version to 0.0.262 (#4032) 2023-04-19 15:49:28 -04:00
Charlie Marsh b3f8f2a5c1
Remove TODO in `handle_node_store` (#4031) 2023-04-19 15:28:56 -04:00
Charlie Marsh cc8b5a543b
Ignore stub file assignments to value-requiring targets (#4030) 2023-04-19 15:26:00 -04:00
Charlie Marsh 10d5415bcb
Ignore certain flake8-pyi errors within function bodies (#4029) 2023-04-19 15:10:29 -04:00
Charlie Marsh 827cbe7f97
Treat non-future function annotations as required-at-runtime (#4028) 2023-04-19 14:43:55 -04:00
Charlie Marsh 0d84517fbc
Use module path resolver for relative autofix (#4027) 2023-04-19 14:43:45 -04:00
Charlie Marsh 7fa1da20fb
Support relative imports in `banned-api` enforcement (#4025) 2023-04-19 14:30:13 -04:00
Francesco Nuzzo f13a161ead
remove unnecessary f-string formatting (#4026) 2023-04-19 18:14:33 +00:00
Charlie Marsh c4cda301aa
Ignore relative imports in `banned-api` rules (#4024) 2023-04-19 13:30:08 -04:00
Charlie Marsh 13fda30051
Refactor `flake8_tidy_imports` rules to consistently take `Checker` (#4023) 2023-04-19 16:42:15 +00:00
Micha Reiser a3146ab1ca
Fix (doc-)line-too-long start location (#4006) 2023-04-19 08:42:28 +02:00
Micha Reiser c0cf87356e
Set non-empty range for indentation diagnostics (#4005) 2023-04-18 16:26:13 +02:00
Charlie Marsh 6c038830a8
Ignore argument assignments when enforcing `RET504` (#4004) 2023-04-18 03:22:38 +00:00
Charlie Marsh 064a293b80
Fix defaults for section-order (#4003) 2023-04-18 03:00:17 +00:00
Charlie Marsh 79c47e29ee
Avoid short-circuiting when detecting RET rules (#4002) 2023-04-17 22:52:26 -04:00
Charlie Marsh be87a29a9d
Respect typing-modules when evaluating no-return functions (#4001) 2023-04-17 20:25:44 +00:00
Micha Reiser 280dffb5e1
Add parser benchmark (#3990) 2023-04-17 16:43:59 +02:00
Tom Kuson 516cb10000
Add more documentation for `flake8-type-checking` (#3994) 2023-04-17 09:51:54 -04:00
Charlie Marsh 1cdd5e3424
Remove autofix behavior for uncapitalized-environment-variables (`SIM112`) (#3988) 2023-04-16 23:19:05 +00:00
Dhruv Manilawala bd78c6ade2
Preserve type annotations when fixing `E731` (#3983) 2023-04-16 23:15:38 +00:00
Dhruv Manilawala 5ce35faa86
Do not consider nested comment as part of code (#3984) 2023-04-16 19:11:01 -04:00
Charlie Marsh c457752f36
Redirect `PIE802` to `C419` (#3971) 2023-04-13 22:12:32 -04:00
Charlie Marsh 289289bfd3
Implement `unnecessary-literal-within-dict-call` (`C418`) (#3969) 2023-04-14 01:39:35 +00:00
Charlie Marsh d8718dcf54
Remove extraneous debug and TODO (#3967) 2023-04-13 18:45:18 -04:00
Charlie Marsh fb9eeba422
Move user-defined section validation into `Settings` (#3966) 2023-04-13 22:40:05 +00:00
Paul 2d2630ef07
Implement isort custom sections and ordering (#2419) (#3900) 2023-04-13 21:28:22 +00:00
Charlie Marsh 1f22e035e3
Add 'or if cond' to `E712` message (#3962) 2023-04-13 19:02:23 +00:00
Rob Young a6a7584d79
Implement `flake8-bandit` shell injection rules (#3924) 2023-04-13 14:45:27 -04:00
Charlie Marsh ffac4f6ec3
Ignore assert errors (S101) in `TYPE_CHECKING` blocks (#3960) 2023-04-13 18:20:44 +00:00
Dhruv Manilawala 032a84b167
Check for parenthesis in implicit str concat in `PT006` (#3955) 2023-04-13 17:56:18 +00:00
Charlie Marsh 3357aaef4b
Add docs for assert rule (S101) (#3959) 2023-04-13 13:43:00 -04:00
Charlie Marsh e160a52bfd
Raise percent-format upgrade rule (`UP031`) for hanging modulos (#3953) 2023-04-12 23:59:20 -04:00
Charlie Marsh 9067ae47d1
Allow `typing_extensions.TypeVar` assignments in `.pyi` files (#3951) 2023-04-12 17:30:15 -04:00
Charlie Marsh 1e2df07544
Use identifier range for pytest rules (#3948) 2023-04-12 15:28:25 +00:00
USER-5 860841468c
[`flake8-pyi`] Implement duplicate types in unions (`PYI016`) (#3922) 2023-04-12 04:06:09 +00:00
Charlie Marsh ed4ecc3255
Remove unused import (#3944) 2023-04-12 03:55:38 +00:00
Charlie Marsh b999e4b1e2
Allow users to extend the set of included files via `include` (#3914) 2023-04-11 23:39:43 -04:00
Charlie Marsh 8ce227047d
Tidy up some `pygrep-hooks` rules (#3942) 2023-04-12 03:35:15 +00:00
Daniel Stancl 523515f936
[`flake8-import-conventions`] Add a rule for `BannedImportAlias` (#3926) 2023-04-12 03:29:24 +00:00
Charlie Marsh 10da3bc8dd
Support `pyright: ignore` comments (#3941) 2023-04-12 03:10:29 +00:00
Charlie Marsh eb0dd74040
Avoid adding required imports to stub files (#3940) 2023-04-11 22:31:20 -04:00
Micha Reiser 61200d2171
lint snapshots: Use filename only to avoid platform specific separators (#3930) 2023-04-11 11:40:51 +02:00
Micha Reiser e8aebee3f6
Pretty print `Diagnostic`s in snapshot tests (#3906) 2023-04-11 09:03:00 +00:00
Micha Reiser 210083bdd8
Order `Edit`s by `Location`s (#3905) 2023-04-11 08:56:41 +00:00
Micha Reiser c33c9dc585
Introduce SourceFile to avoid cloning the message filename (#3904) 2023-04-11 08:28:55 +00:00
Micha Reiser 056c212975
Render code frame with context (#3901) 2023-04-11 10:22:11 +02:00
Micha Reiser 381203c084
Store source code on message (#3897) 2023-04-11 07:57:36 +00:00
Micha Reiser 76c47a9a43
Cheap cloneable LineIndex (#3896) 2023-04-11 07:33:40 +00:00
Micha Reiser 9209e57c5a
Extract message emitters from Printer (#3895) 2023-04-11 07:24:25 +00:00
Leiser Fernández Gallo 333f1bd9ce
Extend SIM105 to match also 'Ellipsis only' bodies in exception handlers (#3925) 2023-04-10 09:55:02 -04:00
Leiser Fernández Gallo 002caadf9e
[`flake8-simplify`] Add autofix for `contextlib.suppress` (`SIM105`) (#3915) 2023-04-09 22:45:19 +00:00
Dhruv Manilawala 311ba29d0f
Do not skip analysis if `*args` present for `F523` (#3923) 2023-04-09 18:34:52 -04:00
Dhruv Manilawala 237a64d922
Check for arguments in inner/outer call for `C414` (#3916) 2023-04-09 18:33:11 -04:00
Moritz Sauter d4af2dd5cf
[`ruff`] Add checks for mutable defaults in `dataclass`es (#3877) 2023-04-09 02:46:28 +00:00
Charlie Marsh a36ce585ce
Remove `extract_path_names` helper (#3920) 2023-04-08 11:14:42 -04:00
Charlie Marsh 29ec6df24f
Avoid N802 violations for `@override` methods (#3912) 2023-04-08 03:11:50 +00:00
Evan Rittenhouse abaf0a198d
Ensure that tab characters aren't in multi-line strings before throwing a violation (#3837) 2023-04-06 22:25:40 -04:00
konstin cae5503e34
[`pylint`] Fix unicode handling in `PLE2515` (#3898) 2023-04-06 13:54:52 -04:00
Dhruv Manilawala 34e9786a41
Visit comprehension to detect group name usage/overrides (#3887) 2023-04-05 18:03:11 -04:00
Dhruv Manilawala 5467d45dfa
Ignore `PLW2901` when using typing cast (#3891) 2023-04-05 18:02:32 -04:00
Charlie Marsh ac87137c1c
Avoid printing docs on cargo dev generate-all (#3890) 2023-04-05 14:18:33 -04:00
Charlie Marsh e0bccfd2d9
Allow legacy C and T selectors in JSON schema (#3889) 2023-04-05 17:58:36 +00:00
Tom Kuson 7b6e55a2e0
Add documentation for `flake8-type-checking` (#3886) 2023-04-05 17:30:25 +00:00
Charlie Marsh 255b094b33
Bump version to 0.0.261 (#3881) 2023-04-04 22:31:01 -04:00
Dhruv Manilawala b6155232ac
Consider logger candidate from `logging` module only (#3878) 2023-04-04 19:52:57 +00:00
kyoto7250 390d7dcf39
Supports more cases in `SIM112` (#3876) 2023-04-04 15:49:24 -04:00
Charlie Marsh d919adc13c
Introduce a `ruff_python_semantic` crate (#3865) 2023-04-04 16:50:47 +00:00
kyoto7250 46bcb1f725
[`flake8-simplify`] Implement `dict-get-with-none-default` (`SIM910`) (#3874) 2023-04-04 03:52:10 +00:00
Dhruv Manilawala 2b21effa77
fixup! Support mutually exclusive branches for `B031` (#3844) (#3875) 2023-04-03 23:34:11 -04:00
Chris Chan 10504eb9ed
Generate `ImportMap` from module path to imported dependencies (#3243) 2023-04-04 03:31:37 +00:00
Dhruv Manilawala 76e111c874
Support mutually exclusive branches for `B031` (#3844) 2023-04-04 02:33:17 +00:00
Charlie Marsh 60f6a8571a
Allow starred arguments in B030 (#3871) 2023-04-03 23:20:34 +00:00
Charlie Marsh f4173b2a93
Move shadow tracking into `Scope` directly (#3854) 2023-04-03 15:33:44 -04:00
Charlie Marsh 449e08ed08
Rename `autofix::helpers` to `autofix::actions` (#3866) 2023-04-03 13:34:49 -04:00
Charlie Marsh 5625410936
Remove `uses_magic_variable_access` dependence on `Checker` (#3864) 2023-04-03 12:22:06 -04:00
Charlie Marsh 3744e9ab3f
Remove `contains_effect`'s dependency on `Context` (#3855) 2023-04-03 12:08:13 -04:00
Nazia Povey 849091d846
When checking module visibility, don't check entire ancestry (#3835) 2023-04-03 11:38:41 -04:00
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