Martin Fischer
b359f3a9ff
refactor: Get rid of ruff::resolver::FileDiscovery
2023-01-26 13:06:29 -05:00
Martin Fischer
73d0461d55
refactor: Check required_version in Settings::from_configuration
...
The idiomatic way in Rust is to make invalid types unrepresentable
instead of paranoidly calling a validate method everywhere.
2023-01-26 13:06:29 -05:00
Charlie Marsh
662e29b1ce
Avoid re-resolving settings for repeated paths ( #2165 )
...
After this change:
```shell
> time cargo run -- -n $(find ../django -type f -name '*.py')`
8.85s user 0.20s system 498% cpu 1.814 total
> time cargo run -- -n ../django
8.95s user 0.23s system 507% cpu 1.811 total
```
I also verified that we only hit the creation path once via some manual logging.
Closes #2154 .
2023-01-25 13:38:33 -05:00
Martin Fischer
d75d6d7c7c
refactor: Split CliSettings from Settings
...
We want to automatically derive Hash for the library settings, which
requires us to split off all the settings unused by the library
(since these shouldn't affect the hash used by ruff_cli::cache).
2023-01-15 15:19:42 -05:00
Charlie Marsh
dcccfe2591
Avoid parsing pyproject.toml files when settings are fixed ( #1827 )
...
Apart from being wasteful, this can also cause problems (see the linked
issue).
Resolves #1812 .
2023-01-12 13:15:44 -05:00
Martin Fischer
74f14182ea
Decouple resolver module from cli::Overrides
2023-01-12 13:09:59 -05:00
Charlie Marsh
21986e89fd
Always check directly-passed-in files ( #1564 )
2023-01-02 16:49:44 -05:00
Maksudul Haque
815284f890
Check for Unsupported Files and Display Errors and Warnings ( #1509 )
2022-12-31 08:12:55 -05:00
Charlie Marsh
b0f30bef8f
Add support for ruff.toml ( #1378 )
2022-12-25 21:55:07 -05:00
Charlie Marsh
8b72f55a09
Add --required-version ( #1376 )
2022-12-25 19:53:50 -05:00
Reiner Gerecke
102b049a32
Add cache-dir to command-line and pyproject.toml ( #1351 )
2022-12-23 22:58:29 -05:00
Charlie Marsh
3ac5a9aa31
Respect --force-exclude for files passed via stdin ( #1342 )
2022-12-22 16:40:15 -05:00
Charlie Marsh
451047c30d
Exclude directly-passed files nested in excluded subdirectories
2022-12-22 15:08:11 -05:00
Charlie Marsh
eff7700d92
Add --force-exclude setting to force exclusions with pre-commit ( #1295 )
2022-12-19 20:08:59 -05:00
Charlie Marsh
2393e270ed
Change a few more methods to take AsRef<Path>
2022-12-16 21:38:52 -05:00
Charlie Marsh
ecf0dd05d6
Auto-detect same-package imports ( #1266 )
2022-12-16 21:19:11 -05:00
Charlie Marsh
7e45a9f2e2
Avoid generating invalid statements when deleting from multi-statement lines ( #1253 )
2022-12-15 22:17:31 -05:00
Charlie Marsh
549ea2f85f
Ignore any pyproject.toml without a [tool.ruff] section ( #1243 )
2022-12-14 19:35:52 -05:00
Charlie Marsh
3f272b6cf8
Enable opt-out of .gitignore checks via respect-gitignore flag ( #1242 )
2022-12-14 16:54:23 -05:00
Charlie Marsh
76891a8c07
Always check zero-depth CLI paths ( #1241 )
2022-12-14 16:32:02 -05:00
Charlie Marsh
4b2020d03a
Automatically ignore files specified in .gitignore ( #1234 )
2022-12-14 15:58:40 -05:00
Charlie Marsh
9853b0728b
Enable configuration files to "extend" other configuration files ( #1219 )
2022-12-12 20:28:22 -05:00
Charlie Marsh
0157fedab5
Move Python file resolution into resolver.rs ( #1211 )
2022-12-12 10:43:50 -05:00
Charlie Marsh
cd69610741
Use --config everywhere if provided ( #1210 )
2022-12-12 10:28:00 -05:00
Charlie Marsh
ac6fa1dc88
Simplify some logic around configuration detection ( #1197 )
2022-12-12 10:15:05 -05:00
Charlie Marsh
73794fc299
Resolve hierarchical settings and Python files in a single filesystem pass ( #1205 )
2022-12-12 10:13:52 -05:00
Charlie Marsh
0adc9ed259
Support hierarchical settings for nested directories ( #1190 )
2022-12-12 10:12:23 -05:00