Commit Graph

3577 Commits

Author SHA1 Message Date
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
konstin 550b643e33
Add script for ecosystem wide checks of all rules and fixes (#4326)
* Add script for ecosystem wide checks of all rules and fixes

This adds my personal script for checking an entire checkout of ~2.1k packages for
panics, autofix errors and similar problems. It's not really meant to be used by anybody else but i thought it's better if it lives in the repo than if it doesn't.

For reference, this is the current output of failing autofixes: https://gist.github.com/konstin/c3fada0135af6cacec74f166adf87a00. Trimmed down to the useful information: https://gist.github.com/konstin/c864f4c300c7903a24fdda49635c5da9

* Keep github template intact

* Remove the need for ripgrep

* sort output
2023-05-22 15:23:25 +02:00
Micha Reiser cbe344f4d5
Rename `Checker::model` to `semantic_model` (#4573) 2023-05-22 15:14:30 +02:00
Micha Reiser 063431cb0f
Upgrade RustPython (#4576) 2023-05-22 14:50:49 +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
Jacob Coffee 6db05d8cc6
Starlite -> Litestar (#4554) 2023-05-21 09:55:26 -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
Felipe Peter 0a3cf8ba11
Fix typos in docs (#4540) 2023-05-20 07:23:17 -04: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 625849b846
Ecosystem CI: Optionally diff fixes (#4193)
* 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.
```

Also fixes git clone
2023-05-19 09:49:57 +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
Hoël Bagard ce8fd31a8f
Updated contributing documentation (#4516) 2023-05-19 08:39:15 +02: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
figsoda bab818e801
Update RustPython dependencies (#4503) 2023-05-18 15:28:13 -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