Charlie Marsh
f4572fe40b
Bump version to 0.0.270 ( #4637 )
2023-05-24 16:34:29 +00:00
Micha Reiser
85f094f592
Improve `Message` sorting performance ( #4624 )
2023-05-24 16:34:48 +02:00
Charlie Marsh
040fb9cef4
Use a separate `PrinterFlag` for including fix diffs ( #4615 )
2023-05-24 10:22:37 -04: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
Charlie Marsh
19c4b7bee6
Rename ruff_python_semantic's `Context` struct to `SemanticModel` ( #4565 )
2023-05-22 02:35:03 +00:00
Aaron Cunningham
41a681531d
Support new `extend-per-file-ignores` setting ( #4265 )
2023-05-19 12:24:04 -04: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
Charlie Marsh
15cb21a6f4
Implement `--extend-fixable` option ( #4297 )
2023-05-18 22:20:19 -04: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
Charlie Marsh
6b1062ccc3
Enable `pycodestyle` rules under new "nursery" category ( #4407 )
2023-05-16 21:21:58 +00:00
Charlie Marsh
dcedd5cd9d
Bump version to 0.0.267 ( #4400 )
2023-05-12 19:04:56 +00:00
Charlie Marsh
67076b2dcb
Bump version to 0.0.266 ( #4391 )
2023-05-12 13:11:03 -04: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
Jonathan Plasse
4fd4a65718
Isolate show statistic integration test ( #4383 )
2023-05-11 21:42:34 +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
Micha Reiser
ddbe5a1243
Add `Fix::applicability` to JSON output ( #4341 )
2023-05-10 14:34:53 +00: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
11e1380df4
Bump version to 0.0.265 ( #4248 )
2023-05-05 13:16:05 -04: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
Charlie Marsh
8cb76f85eb
Bump version to 0.0.264 ( #4179 )
2023-05-01 23:33:38 -07: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
Charlie Marsh
fd7ccb4c9e
Bump version to 0.0.263 ( #4086 )
2023-04-24 23:32:29 -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
25a6bfa9ee
Bump version to 0.0.262 ( #4032 )
2023-04-19 15:49:28 -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
Charlie Marsh
255b094b33
Bump version to 0.0.261 ( #3881 )
2023-04-04 22:31:01 -04:00
Chris Chan
10504eb9ed
Generate `ImportMap` from module path to imported dependencies ( #3243 )
2023-04-04 03:31:37 +00:00
Charlie Marsh
9d3b8eb67b
Bump version to v0.0.260 ( #3799 )
2023-03-29 14:51:50 -04: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
Charlie Marsh
f58345dee3
Bump version to v0.0.259 ( #3691 )
2023-03-23 14:52:42 -04:00
Charlie Marsh
615887a7fe
Bump version to v0.0.258 ( #3671 )
2023-03-22 15:02:57 -04: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
0c4926ff7b
Bump version to v0.0.257 ( #3591 )
2023-03-17 22:34:10 -04: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
12dfd57211
Bump version to v0.0.256 ( #3531 )
2023-03-14 22:52:21 -04: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
aa97a092bd
Bump version to v0.0.255 ( #3485 )
2023-03-13 14:06:51 -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
Jonathan Plasse
8828e12283
Bump dependencies and move more shared dependencies into workspace ( #3340 )
2023-03-04 12:36:26 -05:00
Charlie Marsh
bbbc44336e
Bump version to 0.0.254 ( #3331 )
2023-03-03 19:11:07 -05: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
Charlie Marsh
af5f7dbd83
Avoid pluralization for single `--add-noqa` result ( #3282 )
2023-02-28 15:41:18 -05:00
Charlie Marsh
386ca7c9a1
Bump version to 0.0.253 ( #3245 )
2023-02-26 23:10:04 -05:00
Ran Benita
33c31cda27
Add `noqa_row` to diagnostics JSON format ( #3228 )
...
In ruff-lsp (https://github.com/charliermarsh/ruff-lsp/pull/76 ) we want to add a "Disable \<rule\> for this line" quickfix. However, finding the correct line into which the `noqa` comment should be inserted is non-trivial (multi-line strings for example).
Ruff already has this info, so expose it in the JSON output for use by ruff-lsp.
2023-02-25 18:13:16 -05:00
Jeong YunWon
da98fab4ae
Adapt is-macro for a few enums ( #3182 )
2023-02-24 04:06:56 +00:00
Jeong YunWon
c8c575dd43
Adapt BoolLike to flags ( #3175 )
2023-02-23 16:31:46 -05:00
Charlie Marsh
f5241451d8
Use `writeln` with --show-settings ( #3180 )
2023-02-23 17:23:31 +00:00
Charlie Marsh
1c41789c2a
Bump version to 0.0.252 ( #3142 )
2023-02-22 14:50:14 -05:00
Micha Reiser
262e768fd3
refactor(ruff): Implement `doc_lines_from_tokens` as iterator ( #3124 )
...
This is a nit refactor... It implements the extraction of document lines as an iterator instead of a Vector to avoid the extra allocation.
2023-02-22 09:22:06 -05:00
Charlie Marsh
9645790a8b
Support shell expansion for --config argument ( #3107 )
2023-02-21 23:33:41 +00:00
Charlie Marsh
18800c6884
Include file permissions in cache key ( #3104 )
2023-02-21 18:20:06 -05:00
Charlie Marsh
fd638a2e54
Bump version to 0.0.251 ( #3105 )
2023-02-21 18:13:59 -05:00
Charlie Marsh
06e426f509
Bump version to 0.0.250 ( #3095 )
2023-02-21 15:20:46 -05:00
Charlie Marsh
4cfa350112
Bump version to 0.0.249 ( #3063 )
2023-02-20 13:11:29 -05:00
Jeong YunWon
35606d7b05
clean up to fix nightly clippy warnings and dedents ( #3057 )
2023-02-20 09:33:47 -05:00
Charlie Marsh
2ff3dd5fbe
Bump version to 0.0.248 ( #3034 )
2023-02-19 16:21:30 +00:00
Jonathan Plasse
b75663be6d
Add missing rust-version in crates ( #3009 )
2023-02-19 15:07:17 +00:00
Charlie Marsh
909a5c3253
Avoid zero-indexed column for IOError ( #2995 )
2023-02-17 14:14:28 -05:00
Charlie Marsh
750c28868f
Enable jemalloc on FreeBSD and NetBSD ( #2965 )
2023-02-16 15:21:34 -05:00
Charlie Marsh
370c3a5daf
Remove mdcat dependency ( #2959 )
2023-02-16 12:09:37 -05:00