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
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
8969ad5879
Always generate fixes ( #4239 )
2023-05-10 07:06:14 +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
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
Zanie Adkins
0801f14046
Refactor `Fix` and `Edit` API ( #4198 )
2023-05-08 11:57:03 +02:00
Charlie Marsh
b71cc3789f
Change `--fix-only` exit semantics to mirror `--fix` ( #4146 )
2023-05-04 19:03:15 +00:00
Dhruv Manilawala
59d40f9f81
Show settings path in `--show-settings` output ( #4199 )
2023-05-04 08:22:31 +02:00
Micha Reiser
cab65b25da
Replace row/column based `Location` with byte-offsets. ( #3931 )
2023-04-26 18:11:02 +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
Micha Reiser
ba4f4f4672
Upgrade dependencies ( #4064 )
2023-04-22 18:04:01 +01:00
Evan Rittenhouse
6e8d561090
Support --fix in watch mode ( #4035 )
2023-04-19 23:33:12 -04:00
Charlie Marsh
d8718dcf54
Remove extraneous debug and TODO ( #3967 )
2023-04-13 18:45:18 -04:00
Micha Reiser
c33c9dc585
Introduce SourceFile to avoid cloning the message filename ( #3904 )
2023-04-11 08:28:55 +00:00
Micha Reiser
381203c084
Store source code on message ( #3897 )
2023-04-11 07:57:36 +00:00
Micha Reiser
9209e57c5a
Extract message emitters from Printer ( #3895 )
2023-04-11 07:24:25 +00:00
Chris Chan
10504eb9ed
Generate `ImportMap` from module path to imported dependencies ( #3243 )
2023-04-04 03:31:37 +00:00
Micha Reiser
595cd065f3
Reduce explcit clones ( #3793 )
2023-03-29 15:15:14 +02: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
Agriya Khetarpal
c0befb4670
Use `wild::args()` and add `wild` as a dependency ( #3739 )
2023-03-26 14:32:45 +00:00
Jonathan Plasse
fd39ec4bdd
Merge Availability and AutofixKind ( #3629 )
2023-03-20 16:45:33 +00:00
konstin
81d0884974
Add basic jupyter notebook support ( #3440 )
...
* Add basic jupyter notebook support behind a feature flag
* Address review comments
* Rename in separate commit to make both git and clippy happy
* cfg(feature = "jupyter_notebook") another test
* Address more review comments
* Address more review comments
* and clippy and windows
* More review comment
2023-03-20 12:06:01 +01:00
Micha Reiser
9ac9a1c69e
Gracefully handle lint panics ( #3509 )
2023-03-19 17:08:38 +01:00
Charlie Marsh
50f9db21da
Enable ANSI colors on Windows 10 ( #3583 )
2023-03-17 17:34:39 -04:00
Micha Reiser
eff84442bc
refactor: Add Copy implementation to Rule ( #3556 )
2023-03-16 17:50:18 +01:00
Charlie Marsh
106a93eab0
Make Clap an optional feature for ruff crate ( #3498 )
2023-03-14 11:02:05 -04:00
Charlie Marsh
1e5db58b7b
Include individual path checks in --verbose logging ( #3489 )
2023-03-13 17:13:47 -04:00
Charlie Marsh
a6e998d639
Remove Wasm-specific Rayon workarounds ( #3490 )
2023-03-13 16:48:43 -04:00
Charlie Marsh
2a4d6ab3b2
Remove unnecessary `Path::new` from `fs` calls ( #3476 )
2023-03-12 23:18:23 -04:00
Charlie Marsh
7a80bcec58
Output GitLab paths relative to `CI_PROJECT_DIR` ( #3475 )
2023-03-13 03:03:37 +00:00
Charlie Marsh
7fb7268e8a
Use a hash to fingerprint GitLab CI output ( #3456 )
2023-03-12 00:22:39 -05:00
Micha Reiser
cc8b13d3a7
refactor: Replace `Vec` in options metadata with static array ( #3433 )
2023-03-11 09:03:56 +00:00
Micha Reiser
b983d5eb3f
fix: method `red` not found in release builds ( #3434 )
2023-03-10 10:17:35 +01:00
Charlie Marsh
2383228709
Respect `--show-fixes` with `--fix-only` ( #3426 )
2023-03-09 21:37:39 +00:00
Charlie Marsh
024caca233
Introduce a `ruff_diagnostics` crate ( #3409 )
...
## Summary
This PR moves `Diagnostic`, `DiagnosticKind`, and `Fix` into their own crate, which will enable us to further split up Ruff, since sub-linter crates (which need to implement functions that return `Diagnostic`) can now depend on `ruff_diagnostics` rather than Ruff.
2023-03-09 20:48:57 +00:00
Charlie Marsh
dfe1cad928
Rename `DiagnosticKind#commit` to `DiagnosticKind#suggestion` ( #3397 )
2023-03-08 18:06:19 +00:00
Charlie Marsh
ffad0bcdaa
Decouple `Diagnostic` from "all violations" enumeration ( #3352 )
2023-03-08 17:51:37 +00:00
Micha Reiser
a3de791f0a
Make `ruff_cli` binary a small wrapper around `lib` ( #3398 )
2023-03-08 12:11:55 +01:00
Charlie Marsh
fea1af5a63
Include entire prefix when reporting rule selector errors ( #3375 )
2023-03-07 00:04:52 +00:00
StefanBRas
074f5634a5
Remove duplicate info in azure format ( #3369 )
2023-03-06 16:40:03 -05:00
StefanBRas
30c71dc59a
Add Azure Devops as a `-format` option. ( #3335 )
2023-03-06 02:48:39 +00:00
Micha Reiser
cdbe2ee496
refactor: Introduce `CacheKey` trait ( #3323 )
...
This PR introduces a new `CacheKey` trait for types that can be used as a cache key.
I'm not entirely sure if this is worth the "overhead", but I was surprised to find `HashableHashSet` and got scared when I looked at the time complexity of the `hash` function. These implementations must be extremely slow in hashed collections.
I then searched for usages and quickly realized that only the cache uses these `Hash` implementations, where performance is less sensitive.
This PR introduces a new `CacheKey` trait to communicate the difference between a hash and computing a key for the cache. The new trait can be implemented for types that don't implement `Hash` for performance reasons, and we can define additional constraints on the implementation: For example, we'll want to enforce portability when we add remote caching support. Using a different trait further allows us not to implement it for types without stable identities (e.g. pointers) or use other implementations than the standard hash function.
2023-03-03 18:29:49 +00:00
Charlie Marsh
3ed539d50e
Add a CLI flag to force-ignore noqa directives ( #3296 )
2023-03-01 22:28:13 -05:00