Charlie Marsh
c9b39e31fc
Use class name as range for `B024` ( #4647 )
2023-05-24 22:16:13 +00:00
bersbersbers
28a5e607b4
Docs: mention `task-tags` option in two rules ( #4644 )
2023-05-24 16:31:41 -04:00
Micha Reiser
09c50c311c
Testing Macros: Add `extra-traits` feature ( #4643 )
2023-05-24 17:14:58 +00:00
Charlie Marsh
f4572fe40b
Bump version to 0.0.270 ( #4637 )
2023-05-24 16:34:29 +00:00
Sladyn
8c9215489e
Migrate flake8_bugbear rules to `unspecified` to `suggested` ( #4616 )
2023-05-24 16:16:33 +00:00
qdegraaf
dcd2bfaab7
Migrate flake8_pie autofix rules from `unspecified` to `suggested` and `automatic` ( #4621 )
2023-05-24 16:08:22 +00:00
Charlie Marsh
f0e173d9fd
Use `BindingId` copies in lieu of `&BindingId` in semantic model methods ( #4633 )
2023-05-24 15:55:45 +00:00
Micha Reiser
edc6c4058f
Move `shared_traits` to `ruff_formatter` ( #4632 )
2023-05-24 17:38:11 +02:00
Jonathan Plasse
4233f6ec91
Update to the new rule architecture ( #4589 )
2023-05-24 11:30:40 -04:00
Charlie Marsh
fcdc7bdd33
Remove separate `ReferenceContext` enum ( #4631 )
2023-05-24 15:12:38 +00:00
Micha Reiser
86ced3516b
Introduce `SourceCodeSlice` to reduce the size of `FormatElement` ( #4622 )
...
Introduce `SourceCodeSlice` to reduce the size of `FormatElement`
2023-05-24 15:04:52 +00:00
Micha Reiser
6943beee66
Remove source position from `FormatElement::DynamicText` ( #4619 )
2023-05-24 16:36:14 +02:00
Micha Reiser
85f094f592
Improve `Message` sorting performance ( #4624 )
2023-05-24 16:34:48 +02:00
konstin
17d938f078
Add Checker::any_enabled shortcut ( #4630 )
...
Add Checker::any_enabled shortcut
## Summary
Akin to #4625 , This is a refactoring that shortens a bunch of code by replacing `checker.settings.rules.any_enabled` with `checker.any_enabled`.
## Test Plan
`cargo clippy`
2023-05-24 14:32:55 +00:00
Charlie Marsh
5cedf0f724
Remove `ReferenceContext::Synthetic` ( #4612 )
2023-05-24 14:30:35 +00:00
Charlie Marsh
040fb9cef4
Use a separate `PrinterFlag` for including fix diffs ( #4615 )
2023-05-24 10:22:37 -04:00
Charlie Marsh
8961d8eb6f
Track all read references in semantic model ( #4610 )
2023-05-24 14:14:27 +00:00
Charlie Marsh
31bddef98f
Visit `TypeVar` and `NewType` name arguments ( #4627 )
2023-05-24 10:10:15 -04:00
konstin
a59d252246
Add Checker::enabled shortcut ( #4625 )
...
This is a refactoring that shortens a bunch of code by replacing `checker.settings.rules.enabled` with `checker.enabled`
2023-05-24 14:56:41 +02:00
Jonathan Plasse
c6a760e298
Introduce `tab-size` to correcly calculate the line length with tabulations ( #4167 )
2023-05-24 08:37:24 +02:00
konstin
3644695bf2
Include hidden ecosystem_ci option to show fixes without feature ( #4528 )
2023-05-23 22:22:23 -04:00
Sladyn
4e84e8a8e2
Migrate some rules from `Fix::unspecified` ( #4587 )
2023-05-23 22:10:58 -04:00
Hoël Bagard
a256fdb9f4
Extend `RUF005` to recursive and literal-literal concatenations ( #4557 )
2023-05-24 01:26:34 +00:00
Tom Kuson
7479dfd815
Add Pyflakes docs ( #4588 )
2023-05-24 00:45:32 +00:00
Charlie Marsh
ba4c0a21fa
Rename `ContextFlags` to `SemanticModelFlags` ( #4611 )
2023-05-23 17:47:07 -04:00
konstin
73e179ffab
Update maturin to 1.0 ( #4605 )
...
* Refactor and fix task trigger for dependent jobs in other repos
I have confirmed (https://github.com/konstin/ruff-pre-commit/actions/runs/5056928280/jobs/9075029868 ) that this does dispatch the workflow when running with act, `owner: 'konstin'`, `needs` commented out and personal access token. I can't properly test the actual release workflow, and i'm unsure how to best handle the next release after this was merged (should we do a beta release or will this break everything that assumes we only do stable releases?)
The command for act is
```
act -j update-dependents -s RUFF_PRE_COMMIT_PAT=<...>
```
* delete old file
* Update maturin to 1.0
A 1.0 release for maturin 🎉
2023-05-23 20:55:52 +02:00
Micha Reiser
2681c0e633
Add missing nodes to `AnyNodeRef` and `AnyNode` ( #4608 )
2023-05-23 18:30:27 +02:00
Charlie Marsh
f3bdd2e7be
Make B007 fix relevance stricter ( #4607 )
2023-05-23 15:43:59 +00:00
Micha Reiser
652c644c2a
Introduce `ruff_index` crate ( #4597 )
2023-05-23 17:40:35 +02:00
Micha Reiser
154439728a
Add `AnyNode` and `AnyNodeRef` unions ( #4578 )
2023-05-23 08:53:22 +02:00
Jonathan Plasse
1ddc577204
Rework CST matchers ( #4536 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-23 06:26:51 +00:00
Charlie Marsh
74effb40b9
Rename `index` to `binding_id` in a few iterators ( #4594 )
2023-05-23 03:56:00 +00:00
Charlie Marsh
6c3724ab98
Move `get_or_import_symbol` onto `Importer` ( #4591 )
2023-05-23 01:33:00 +00:00
Christopher Covington
3b8121379d
Name ambiguous characters ( #4448 )
2023-05-22 17:16:57 +00:00
qdegraaf
5ba47c3302
Add autofix for PYI009 ( #4583 )
2023-05-22 16:41:18 +00:00
Charlie Marsh
b613460fe5
Fix `# isort: split` comment detection in nested blocks ( #4584 )
2023-05-22 12:31:59 -04:00
Micha Reiser
daadd24bde
Include decorators in `Function` and `Class` definition ranges ( #4467 )
2023-05-22 17:50:42 +02:00
Charlie Marsh
9308e939f4
Avoid infinite loop for required imports with isort: off ( #4581 )
2023-05-22 15:49:03 +00:00
Charlie Marsh
04c9348de0
Make ambiguous-unicode detection sensitive to 'word' context ( #4552 )
2023-05-22 14:42:25 +00:00
Tom Kuson
2d3766d928
Add flake8-boolean-trap docs ( #4572 )
2023-05-22 14:11:14 +00:00
Micha Reiser
cbe344f4d5
Rename `Checker::model` to `semantic_model` ( #4573 )
2023-05-22 15:14:30 +02:00
Evan Rittenhouse
c6e5fed658
Replace token iteration with Indexer/Locator lookups for relevant rules ( #4513 )
2023-05-22 09:56:19 +02:00
Charlie Marsh
f73b398776
Reduce visibility of more functions, structs, and fields ( #4570 )
2023-05-22 03:36:48 +00:00
Charlie Marsh
55c4020ba9
Remove regex for noqa code splitting ( #4569 )
2023-05-21 23:20:49 -04:00
Charlie Marsh
d70f899f71
Use `SemanticModel` in lieu of `Checker` in more methods ( #4568 )
2023-05-22 02:58:47 +00:00
Charlie Marsh
19c4b7bee6
Rename ruff_python_semantic's `Context` struct to `SemanticModel` ( #4565 )
2023-05-22 02:35:03 +00:00
Jonathan Plasse
3238743a7b
Fix Flake8Todo typo ( #4566 )
2023-05-21 16:32:13 -04:00
Charlie Marsh
f22c269ccf
Point LSP, VS Code, and pre-commut URLs to Astral org ( #4562 )
2023-05-21 15:27:35 -04:00
Arne de Laat
8ca3977602
Fix false-positive for TRY302 if exception cause is given ( #4559 )
2023-05-21 11:49:53 -04:00
Jonathan Plasse
fc63c6f2e2
Fix PLE01310 typo ( #4550 )
2023-05-20 19:34:03 +00:00
Jonathan Plasse
f7f5bc9085
Fix SIM401 snapshot ( #4547 )
2023-05-20 14:18:19 -04:00
Charlie Marsh
6b85430a14
Ignore `#region` code folding marks in eradicate rules ( #4546 )
2023-05-20 16:45:49 +00:00
Jonathan Plasse
a68c865010
Fix SIM110 and SIM111 ranges ( #4545 )
2023-05-20 12:40:35 -04:00
Charlie Marsh
fe7f2e2e4d
Move submodule alias resolution into `Context` ( #4543 )
2023-05-20 16:34:10 +00:00
Charlie Marsh
bf5b463c0d
Include empty success test in JUnit output ( #4537 )
2023-05-20 03:38:51 +00:00
Charlie Marsh
6aa9900c03
Improve handling of `__qualname__`, `__module__`, and `__class__` ( #4512 )
2023-05-20 03:03:45 +00:00
Charlie Marsh
9e21414294
Improve reference resolution for deferred-annotations-within-classes ( #4509 )
2023-05-20 02:54:18 +00:00
Charlie Marsh
bb4e674415
Move reference-resolution into Context ( #4510 )
2023-05-20 02:47:15 +00:00
Charlie Marsh
b42ff08612
Parenthesize more sub-expressions in f-string conversion ( #4535 )
2023-05-19 19:41:30 +00:00
Jonathan Plasse
03fb62c174
Fix RUF010 auto-fix with parenthesis ( #4524 )
2023-05-19 19:05:51 +00:00
Jonathan Plasse
2dfc645ea9
Fix UP032 auto-fix with integers ( #4525 )
2023-05-19 18:53:50 +00:00
Hoël Bagard
fe8e2bb237
[`pylint`] Add `named_expr_without_context` (`W0131`) ( #4531 )
2023-05-19 18:00:01 +00:00
Tom Kuson
a9ed8d5391
Add Pylint docs ( #4530 )
2023-05-19 17:40:18 +00:00
Aaron Cunningham
41a681531d
Support new `extend-per-file-ignores` setting ( #4265 )
2023-05-19 12:24:04 -04:00
Justin Prieto
837e70677b
[`flake8-pyi`] Implement `PYI013` ( #4517 )
2023-05-19 15:39:55 +00:00
Hoël Bagard
7ebe372122
[`pylint`] Add `duplicate-value` (`W0130`) ( #4515 )
2023-05-19 15:03:47 +00:00
konstin
32f1edc555
Create dummy format CLI ( #4453 )
...
* Create dummy format CLI
* Hide format from clap, too
Missed that this is a separate option from `#[doc(hidden)]`
* Remove cargo feature and replace with warning
* No-alloc files parameter matching
* beta warning: warn -> warn_user_once
* Rephrase warning
2023-05-19 11:45:52 +02:00
Micha Reiser
2f35099f81
Remove `regex` dependency from `ruff_python_ast` ( #4518 )
2023-05-19 06:44:18 +00:00
Ville Skyttä
fdb241cad2
[`flake8-bandit`] Implement `paramiko-call` (`S601`) ( #4500 )
2023-05-19 03:40:50 +00:00
Charlie Marsh
ab303f4e09
Gate `schemars` skip under feature flag ( #4514 )
2023-05-19 03:01:31 +00:00
Charlie Marsh
15cb21a6f4
Implement `--extend-fixable` option ( #4297 )
2023-05-18 22:20:19 -04:00
Ville Skyttä
2e2ba2cb16
Avoid some false positives in dunder variable assigments ( #4508 )
2023-05-19 02:11:20 +00:00
Charlie Marsh
d4c0a41b00
Bump version to 0.0.269 ( #4506 )
2023-05-18 19:45:20 +00:00
Charlie Marsh
8702b5a40a
Bump version to 0.0.268 ( #4501 )
2023-05-18 15:35:46 -04:00
konstin
a3aa841fc9
Overhaul sdist handling ( #4439 )
...
* Reduce sdist size
`maturin sdist && du -sh target/wheels/ruff-0.0.267.tar.gz`:
Before: 1,1M
After: 668K
* Test sdist before release
* Update maturin to fix the sdist
2023-05-18 19:02:22 +02:00
Ville Skyttä
fdd894145b
S608 improvements ( #4499 )
2023-05-18 11:27:22 -04:00
Charlie Marsh
85f67b2ee3
Make the AST Checker `pub(crate)` ( #4498 )
2023-05-18 15:17:26 +00:00
Charlie Marsh
e9c6f16c56
Move unparse utility methods onto Generator ( #4497 )
2023-05-18 15:00:46 +00:00
Charlie Marsh
d3b18345c5
Move triple-quoted string detection into `Indexer` method ( #4495 )
2023-05-18 14:42:05 +00:00
Jonathan Plasse
0e4d174551
Fix COM812 false positive in string subscript ( #4493 )
2023-05-18 14:35:41 +00:00
Charlie Marsh
73efbeb581
Invert quote-style when generating code within f-strings ( #4487 )
2023-05-18 14:33:33 +00:00
Charlie Marsh
2fb312bb2b
Fix scoping of comprehensions within classes ( #4494 )
2023-05-18 14:30:02 +00:00
Charlie Marsh
e8e66f3824
Remove unnecessary path prefixes ( #4492 )
2023-05-18 10:19:09 -04:00
Charlie Marsh
a8d080c825
Extend multi-line noqa directives to start-of-line ( #4490 )
2023-05-18 13:05:27 +00:00
Charlie Marsh
ddd541b198
Move `Insertion` into its own module ( #4478 )
2023-05-17 21:11:41 +00:00
Tom Kuson
3090aec97d
Add PLW docs ( #4469 )
2023-05-17 18:30:45 +00:00
Charlie Marsh
14c6419bc1
Bring pycodestyle rules into full compatibility (on SciPy) ( #4472 )
2023-05-17 16:51:55 +00:00
Charlie Marsh
3bc29d6c0c
Allow shebang comments at start-of-file ( #4473 )
2023-05-17 16:32:12 +00:00
Charlie Marsh
67c5086aba
Include precise tokens for extraneous-whitespace diagnostics ( #4471 )
2023-05-17 16:25:17 +00:00
Charlie Marsh
cd82b83f89
Avoid triggering `pd#at` and friends on non-subscripts ( #4474 )
2023-05-17 16:20:58 +00:00
Charlie Marsh
39fb2cc732
Remove special-casing for whitespace-around-@ ( #4458 )
2023-05-17 15:32:08 +00:00
John Kelly
9c732c7946
Implement TRY302 - `raise` after `except` ( #4461 )
2023-05-17 01:36:10 +00:00
Charlie Marsh
2332ea5753
Remove type-complexity ignores from `map_codes.rs` ( #4463 )
2023-05-17 01:02:24 +00:00
Charlie Marsh
6b1062ccc3
Enable `pycodestyle` rules under new "nursery" category ( #4407 )
2023-05-16 21:21:58 +00:00
Charlie Marsh
39fa38cb35
Enable `pycodestyle` rules ( #3689 )
2023-05-16 20:39:43 +00:00
Micha Reiser
ddf7de7e86
Prototype Black's string joining/splitting ( #4449 )
2023-05-16 18:42:40 +01:00
Charlie Marsh
e5101e8eac
Split logical lines tests into one test per assertion ( #4457 )
2023-05-16 17:40:39 +00:00
Charlie Marsh
d9c3f8e249
Avoid flagging missing whitespace for decorators ( #4454 )
2023-05-16 13:15:01 -04:00
Charlie Marsh
7e0d018b35
Avoid emitting empty logical lines ( #4452 )
2023-05-16 16:33:33 +00:00
Jeong, YunWon
4b05ca1198
Specialize ConversionFlag ( #4450 )
2023-05-16 18:00:13 +02:00
Charlie Marsh
f0465bf106
Emit non-logical newlines for "empty" lines ( #4444 )
2023-05-16 14:58:56 +00:00
Charlie Marsh
8134ec25f0
Fix expected-indentation errors with end-of-line comments ( #4438 )
2023-05-16 10:45:54 -04:00
Jeong, YunWon
badade3ccc
Impl `Default` for `SourceLocation` ( #4328 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-16 07:03:43 +00:00
Micha Reiser
fa26860296
Refactor range from `Attributed` to `Node`s ( #4422 )
2023-05-16 06:36:32 +00:00
Sladyn
c711db11ce
[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) ( #4293 )
2023-05-16 02:06:55 +00:00
Charlie Marsh
1fe6954150
Fix bidirectional-unicode formatting ( #4445 )
2023-05-15 22:36:25 +00:00
Charlie Marsh
2414469ac3
Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` ( #4420 )
2023-05-15 22:33:24 +00:00
Tom Kuson
838ba1ca3d
Add `PLE` rule docs ( #4437 )
2023-05-15 19:48:18 +00:00
qdegraaf
8ba9eb83af
Implement `flake8-async` plugin ( #4432 )
2023-05-15 09:15:28 -04:00
Zanie Adkins
2c6efc2f5f
Update C419 to be a suggested fix ( #4424 )
2023-05-15 10:30:40 +02:00
Ben Doerry
d6930ca991
Merge subsettings when extending configurations ( #4431 )
2023-05-15 02:34:58 +00:00
Charlie Marsh
dcff515ad8
Make `extend_function_names` an `Option` type ( #4434 )
2023-05-15 02:15:02 +00:00
Jonathan Plasse
b9e387013f
Fix `RUF010` autofix within f-strings ( #4423 )
2023-05-15 02:08:30 +00:00
Charlie Marsh
a69451ff46
[`pyupgrade`] Remove `keep-runtime-typing` setting ( #4427 )
2023-05-14 03:12:52 +00:00
Tyler Yep
01b372a75c
Implement `flake8-future-annotations` FA100 ( #3979 )
2023-05-14 03:00:06 +00:00
Charlie Marsh
cd2e7fa72a
Use `TextSize` for flake8-todos `Directive` methods ( #4426 )
2023-05-13 22:05:51 -04:00
Charlie Marsh
fdf0b999cd
Replace TODO tag regex with a lexer ( #4413 )
2023-05-13 15:23:46 +00:00
Jonathan Plasse
45b5fa573f
Ignore ANN401 for overridden methods ( #4409 )
2023-05-13 15:20:04 +00:00
Jonathan Plasse
a0258f2205
[`pylint`] Fix `PLW3301` auto-fix with generators ( #4412 )
2023-05-13 11:17:13 -04:00
alm
0a68636de3
[`pylint`] Add `duplicate-bases` rule ( #4411 )
2023-05-13 14:28:03 +00:00
Evan Rittenhouse
2f53781a77
Implement `flake8_todos` ( #3921 )
2023-05-13 14:19:06 +00:00
Micha Reiser
f5afa8198c
Use new `rustpython_format` crate over `rustpython-common` ( #4388 )
2023-05-13 12:35:02 +00:00
Charlie Marsh
eeabfd6d18
Enable autofix for split-assertions at top level ( #4405 )
2023-05-12 17:35:49 -04:00
Charlie Marsh
490301f9fe
Replace `macro_rules!` visitors with dedicated methods ( #4402 )
2023-05-12 17:05:59 -04:00
Charlie Marsh
dcedd5cd9d
Bump version to 0.0.267 ( #4400 )
2023-05-12 19:04:56 +00:00
Lotem
52f6663089
Implement `RUF010` to detect explicit type conversions within f-strings ( #4387 )
2023-05-12 18:12:58 +00:00
Charlie Marsh
67076b2dcb
Bump version to 0.0.266 ( #4391 )
2023-05-12 13:11:03 -04:00
Charlie Marsh
7e3ba7f32a
Use `bitflags` for tracking `Context` flags ( #4381 )
2023-05-12 16:07:26 +00:00
konstin
09dbd2029c
Update maturin to maturin 0.15 ( #3999 )
...
* Update maturin to maturin>=0.14.17
This allows removing the deprecated `[package.metadata.maturin]`
* Update to maturin 0.15
2023-05-12 15:43:06 +02:00
Jonathan Plasse
1380bd94da
Expose more fields in rule explanation ( #4367 )
2023-05-11 19:22:23 -04:00
Jonathan Plasse
c10a4535b9
Disallow `unreachable_pub` ( #4314 )
2023-05-11 18:00:00 -04:00
Charlie Marsh
97802e7466
Ignore some methods on list in `flake8-boolean-trap` ( #4385 )
2023-05-11 21:54:59 +00:00
Jonathan Plasse
4fd4a65718
Isolate show statistic integration test ( #4383 )
2023-05-11 21:42:34 +00:00
Charlie Marsh
d78c614764
Remove special-casing for `flake8-builtins` rules ( #4380 )
2023-05-11 16:39:28 -04:00
Charlie Marsh
3f3dd7af99
Move some recursion out of the pre-visit statement phase ( #4379 )
2023-05-11 15:46:25 -04:00
Charlie Marsh
871b92a385
Avoid re-using imports beyond current edit site ( #4378 )
2023-05-11 14:47:18 -04:00
Charlie Marsh
9158f13ee6
Respect `__all__` imports when determining definition visibility ( #4357 )
2023-05-11 17:43:51 +00:00
Charlie Marsh
72e0ffc1ac
Delay computation of `Definition` visibility ( #4339 )
2023-05-11 17:14:29 +00:00
Charlie Marsh
ffcf0618c7
Avoid underflow in expected-special-method-signature ( #4377 )
2023-05-11 12:47:47 -04:00
Micha Reiser
1ccef5150d
Remove lifetime from FormatContext ( #4376 )
2023-05-11 15:43:42 +00:00
konstin
3c2f41b615
Also show rule codes in autofix errors in production codes ( #4327 )
...
I needed those changes for #4326
2023-05-11 17:36:03 +02:00
Jeong, YunWon
bbadbb5de5
Refactor code to use the new RustPython `is` method ( #4369 )
2023-05-11 16:16:36 +02:00
Jeong, YunWon
be6e00ef6e
Re-integrate RustPython parser repository ( #4359 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-11 07:47:17 +00:00
Charlie Marsh
865205d992
Implement pygrep-hook's Mock-mistake diagnostic ( #4366 )
2023-05-11 03:26:29 +00:00
Charlie Marsh
572adf7994
Use target name in hardcoded-password diagnostics ( #4365 )
2023-05-11 02:54:27 +00:00
Charlie Marsh
3b26bf84f5
Avoid debug panic with empty indent replacement ( #4364 )
2023-05-11 02:42:18 +00:00
Charlie Marsh
f4f88308ae
Remove `Copy` and destructure `Snapshot` ( #4358 )
2023-05-10 19:46:18 +00:00
Charlie Marsh
ea3d3a655d
Add a `Snapshot` abstraction for deferring and restoring visitor context ( #4353 )
2023-05-10 16:50:47 +00:00
Charlie Marsh
fd34797d0f
Add a specialized `StatementVisitor` ( #4349 )
2023-05-10 12:42:20 -04:00
Charlie Marsh
257c571c43
Remove pub from some `Checker` fields ( #4352 )
2023-05-10 12:33:47 -04:00
Charlie Marsh
ccdee55e6e
Tweak capitalization of B021 message ( #4350 )
2023-05-10 15:59:00 +00:00
Charlie Marsh
6d6d7abf70
Use short-import for `HashMap` ( #4351 )
2023-05-10 15:46:55 +00:00
konstin
0096938789
Optionally show fixes when using `--features ecosystem_ci` with cargo and `--show-fixes` at runtime ( #4191 )
...
* Generate fixes when using --show-fixes
Example command: `cargo run --bin ruff -- --no-cache --select F401
--show-source --show-fixes
crates/ruff/resources/test/fixtures/pyflakes/F401_9.py`
Before, `--show-fixes` was ignored:
```
crates/ruff/resources/test/fixtures/pyflakes/F401_9.py:4:22: F401 [*] `foo.baz` imported but unused
|
4 | __all__ = ("bar",)
5 | from foo import bar, baz
| ^^^ F401
|
= help: Remove unused import: `foo.baz`
Found 1 error.
[*] 1 potentially fixable with the --fix option.
```
After:
```
crates/ruff/resources/test/fixtures/pyflakes/F401_9.py:4:22: F401 [*] `foo.baz` imported but unused
|
4 | __all__ = ("bar",)
5 | from foo import bar, baz
| ^^^ F401
|
= help: Remove unused import: `foo.baz`
ℹ Suggested fix
1 1 | """Test: late-binding of `__all__`."""
2 2 |
3 3 | __all__ = ("bar",)
4 |-from foo import bar, baz
4 |+from foo import bar
Found 1 error.
[*] 1 potentially fixable with the --fix option.
```
* Add `--format ecosystem-ci`
* cargo dev generate-all
* Put behind cargo feature
* Regenerate docs
* Don't test ecosystem_ci feature on CI
* Use top level flag instead
* Fix
* Simplify code based on #4191
* Remove old TODO comment
2023-05-10 17:45:57 +02:00
Micha Reiser
853d8354cb
JSON Emitter: Use one indexed column numbers for edits ( #4007 )
...
I noticed in the byte-offsets refactor that the `JsonEmitter` uses one indexed column numbers for the diagnostic start and end locations but not for `edits`.
This PR changes the `JsonEmitter` to emit one-indexed column numbers for edits, as we already do for `Message::location` and `Message::end_location`.
## Open questions
~We'll need to change the LSP to subtract 1 from the columns in `_parse_fix`~
6e44fadf8a/ruff_lsp/server.py (L129-L150)
~@charliermarsh is there a way to get the ruff version in that method? If not, then I recommend adding a `version` that we increment whenever we make incompatible changes to the serialized message. We can then use it in the LSP to correctly compute the column offset.~
I'll use the presence of the `Fix::applicability` field to detect if the Ruff version uses one or zero-based column indices.
See https://github.com/charliermarsh/ruff-lsp/pull/103
2023-05-10 17:21:02 +02:00
Charlie Marsh
5f64d2346f
Enforce max-doc-length for multi-line docstrings ( #4347 )
2023-05-10 11:06:07 -04:00
Micha Reiser
ddbe5a1243
Add `Fix::applicability` to JSON output ( #4341 )
2023-05-10 14:34:53 +00:00
Evan Rittenhouse
04097d194c
Fix false positives in PD002 ( #4337 )
2023-05-10 16:04:28 +02:00
Micha Reiser
a2b8487ae3
Remove functor from autofix title ( #4245 )
2023-05-10 07:21:15 +00:00
Micha Reiser
8969ad5879
Always generate fixes ( #4239 )
2023-05-10 07:06:14 +00:00
Micha Reiser
bfa1c28c00
Use non-empty ranges for logical-lines diagnostics ( #4133 )
2023-05-10 06:44:33 +00:00
Zanie Adkins
cf7aa26aa4
Add `Applicability` to `Fix` ( #4303 )
...
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-05-10 08:42:46 +02:00
Micha Reiser
d66ce76691
Truncate `SyntaxError`s before newline character ( #4124 )
2023-05-10 08:37:57 +02:00
Tom Kuson
b8bb9e8b92
Add docs for `flake8-simplify` rules ( #4334 )
2023-05-10 03:03:24 +00:00
Charlie Marsh
5e46dcbf21
Handle `.encode` calls on parenthesized expressions ( #4338 )
2023-05-09 22:57:10 -04:00
trag1c
045449ab12
Improved E713 & E714 code examples ( #4336 )
2023-05-09 22:27:44 -04:00
Tom Kuson
d5ff8d7c43
Add `flake8-pie` documentation ( #4332 )
2023-05-09 22:11:30 +00:00
Charlie Marsh
d92fb11e80
Include positional- and keyword-only arguments in too-many-arguments ( #4329 )
2023-05-09 18:05:53 -04:00
Charlie Marsh
3d947196f8
Make violation struct fields private ( #4331 )
2023-05-09 18:00:20 -04:00
Charlie Marsh
e846f2688b
Avoid SIM105 autofixes that would remove comments ( #4330 )
2023-05-09 21:30:56 +00:00
Charlie Marsh
7b91a162c6
Remove `current_` prefix from some Context methods ( #4325 )
2023-05-09 19:40:12 +00:00
Charlie Marsh
8c2cfade90
Move `show_source` onto CLI settings group ( #4317 )
2023-05-09 17:26:25 +00:00
Charlie Marsh
a435c0df4b
Remove deprecated `update-check` setting ( #4313 )
2023-05-09 13:10:02 -04:00
Aaron Cunningham
48e1852893
Revert the B027 autofix logic ( #4310 )
2023-05-09 13:08:20 -04:00
Calum Young
03f141f53d
Check that all rules have descriptions ( #4315 )
2023-05-09 16:53:23 +00:00
Charlie Marsh
d3b71f1e04
Run autofix on initial watcher pass ( #4311 )
2023-05-09 12:35:32 -04:00
Mikko Leppänen
04e8e74499
Feat: detect changes also in configuration files ( #4169 )
2023-05-09 16:22:52 +00:00
konstin
318653c427
Write diagnostic name when failing to create fix ( #4309 )
2023-05-09 17:46:40 +02:00
Micha Reiser
99a755f936
Add `schemars` feature ( #4305 )
2023-05-09 16:15:18 +02:00
Aurelio Jargas
e7dfb35778
UP011: Fix typo in rule description ( #4306 )
2023-05-09 08:49:15 -04:00
Dhruv Manilawala
085fd37209
Preserve whitespace around `ListComp` brackets in `C419` ( #4099 )
2023-05-09 08:43:05 +02:00
Charlie Marsh
83536cf87b
Ignore `TRY301` exceptions without except handlers ( #4301 )
2023-05-09 03:38:02 +00:00
Charlie Marsh
9366eb919d
Specify exact command in incorrect parentheses suggestion ( #4300 )
2023-05-09 02:21:54 +00:00
Charlie Marsh
8be51942dd
Use `ruff_python_semantic` abstract utility in flake8-pytest-style ( #4299 )
2023-05-08 22:12:28 -04:00
Charlie Marsh
d365dab904
Include static and class methods in in abstract decorator list ( #4298 )
2023-05-08 21:54:02 -04:00
Charlie Marsh
f23851130a
Add `flynt` to documentation ( #4295 )
2023-05-09 00:52:41 +00:00
Aarni Koskela
efdf383f5e
Implement Flynt static string join transform as FLY002 ( #4196 )
2023-05-08 20:46:38 -04:00
Charlie Marsh
61f21a6513
Rewrite `not not a` as `bool(a)` in boolean contexts ( #4294 )
2023-05-08 23:38:24 +00:00
Charlie Marsh
c54e48dce5
Avoid panics for f-string rewrites at start-of-file ( #4291 )
2023-05-08 19:44:57 +00:00
Charlie Marsh
b913e99bde
Explicitly support ASCII-only for capitalization checks ( #4290 )
2023-05-08 15:41:11 -04:00
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