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
7e7be05ddf
Upgrade dependencies ( #4389 )
2023-05-13 13:00:25 +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
Zanie Adkins
f5be3d8e5b
Update CI to test Python wheel on Linux ( #4398 )
2023-05-12 16:27:18 -04:00
Charlie Marsh
7617519b4f
Skip python -m ruff --help on linux-cross
2023-05-12 15:46:42 -04:00
Charlie Marsh
bc7ddd8f3a
Temporarily create release on-tag
2023-05-12 15:31:48 -04:00
Charlie Marsh
e6bb5cddcf
Add Astral badge to the repo ( #4401 )
2023-05-12 19:27:38 +00:00
Charlie Marsh
dcedd5cd9d
Bump version to 0.0.267 ( #4400 )
2023-05-12 19:04:56 +00:00
konstin
606b6ac3df
Workaround for maturin bug ( #4399 )
2023-05-12 18:55:55 +00:00
Zanie Adkins
ebda9b31d9
Update CI to test python -m ruff
on release ( #4397 )
2023-05-12 18:47:30 +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
a6176d2c70
Add PyTorch to user list ( #4393 )
2023-05-12 18:02:13 +00:00
OMEGA_RAZER
1d165f7e9d
Add linting badge that can be used to display usage ( #3938 )
2023-05-12 17:58:29 +00:00
Charlie Marsh
e96092291d
Update Ruff badge ( #4392 )
2023-05-12 13:42:33 -04: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
6a52577630
Ecosystem CI: Allow storing checkouts locally ( #4192 )
...
* Ecosystem CI: Allow storing checkouts locally
This adds a --checkouts options to (re)use a local directory instead of checkouts into a tempdir
* Fix missing path conversion
2023-05-11 17:36:44 +02: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
Calum Young
b76b4b6016
List rule changes in ecosystem ( #4371 )
...
* Count changes for each rule
* Handle case where rule matches were found in a line
* List and sort by changes
* Remove detail from rule changes
* Add comment about leading :
* Only print rule changes if rule changes are present
* Use re.search and match group
* Remove dict().items()
* Use match group to extract rule code
2023-05-11 16:33:15 +02:00
Jeong, YunWon
bbadbb5de5
Refactor code to use the new RustPython is
method ( #4369 )
2023-05-11 16:16:36 +02:00
Calum Young
ba6370e5d0
Move black excludes from pre-commit config to pyproject.toml ( #4370 )
2023-05-11 09:00:05 -04: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
dependabot[bot]
6532455672
Bump json5 from 1.0.1 to 1.0.2 in /playground ( #4354 )
2023-05-10 16:34:37 +00: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