Charlie Marsh
ac79bf4ee9
Implement float literal formatting ( #3184 )
2023-02-23 14:02:23 -05:00
Charlie Marsh
376eab3a53
Implement integer literal formatting ( #3183 )
2023-02-23 18:31:56 +00:00
Charlie Marsh
08be7bd285
Add a TODO to string_literal ( #3181 )
2023-02-23 12:46:20 -05:00
Charlie Marsh
f5241451d8
Use writeln
with --show-settings ( #3180 )
2023-02-23 17:23:31 +00:00
Charlie Marsh
09f8c487ea
Update RustPython to support *tuple annotations ( #3178 )
2023-02-23 16:58:38 +00:00
Charlie Marsh
1e7233a8eb
Add support for reformatting byte strings ( #3176 )
2023-02-23 16:50:24 +00:00
Charlie Marsh
f967f344fc
Add support for basic Constant::Str
formatting ( #3173 )
...
This PR enables us to apply the proper quotation marks, including support for escapes. There are some significant TODOs, especially around implicit concatenations like:
```py
(
"abc"
"def"
)
```
Which are represented as a single AST node, which requires us to tokenize _within_ the formatter to identify all the individual string parts.
2023-02-23 16:23:10 +00:00
Charlie Marsh
095f005bf4
Move RustPython vendored and helper code into its own crate ( #3171 )
2023-02-23 14:14:16 +00:00
Charlie Marsh
0f04aa2a5f
Bind star patterns in match statements ( #3169 )
2023-02-23 12:39:03 +00:00
Jonathan Plasse
ad7ba77fff
Fix ExceptionGroup F821 false positive ( #3167 )
2023-02-23 12:36:11 +00:00
Jeong YunWon
77d43795f8
Replace Autofix::is_enabled to result_like::BoolLike ( #3165 )
2023-02-23 07:29:13 -05:00
Jeong YunWon
4357f2be0f
Add Autofix::is_enabled() to remove repeative patterns ( #3159 )
2023-02-22 23:52:07 -05:00
Charlie Marsh
e5c1f95545
Check-in updated snapshot ( #3161 )
2023-02-23 03:42:27 +00:00
Charlie Marsh
227ff62a4e
Don't touch tuple brackets after in
( #3160 )
2023-02-23 03:10:24 +00:00
Charlie Marsh
d8e4902516
Un-modify tupleassign
and function2
tests ( #3158 )
...
I manually changed these in #3080 and #3083 to get the tests passing (with notes around the deviations) -- but that's no longer necessary, now that we have proper testing that takes deviations into account.
2023-02-23 02:37:25 +00:00
Charlie Marsh
5fd827545b
Add a trailing newline to all .py.expect files ( #3156 )
...
This just re-formats all the `.py.expect` files with Black, both to add a trailing newline and be doubly-certain that they're correctly formatted.
I also ensured that we add a hard line break after each statement, and that we avoid including an extra newline in the generated Markdown (since the code should contain the exact expected newlines).
2023-02-23 02:29:27 +00:00
Matthew Lloyd
c1ddcb8a60
[flake8-pie] Unnecessary list comprehension, with autofix (PIE802) ( #3149 )
2023-02-22 20:58:45 -05:00
Charlie Marsh
21d02cd51f
Omit non-.py[i] files from module naming rules ( #3153 )
2023-02-23 00:38:46 +00:00
Charlie Marsh
b9bfb81e36
Move configuration out of README and into permanent docs ( #3150 )
2023-02-22 19:25:53 -05:00
Charlie Marsh
2d4fae45d9
Avoid flagging unfixable TypedDict
and NamedTuple
definitions ( #3148 )
2023-02-22 23:23:25 +00:00
Charlie Marsh
726adb7efc
Avoid suggesting 'is' for constant literals ( #3146 )
2023-02-22 22:37:22 +00:00
Charlie Marsh
1c41789c2a
Bump version to 0.0.252 ( #3142 )
2023-02-22 14:50:14 -05:00
Charlie Marsh
2f9de335db
Upgrade RustPython to match new flattened exports ( #3141 )
2023-02-22 19:36:13 +00:00
Ran Benita
ba61bb6a6c
Fix isort no-lines-before
preceded by an empty section ( #3139 )
...
Fix isort no-lines-before preceded by an empty section
Fix #3138 .
2023-02-22 14:35:53 -05:00
Charlie Marsh
17ab71ff75
Include match in nested block check ( #3137 )
2023-02-22 14:32:08 -05:00
Charlie Marsh
4ad4e3e091
Avoid useless-else-on-loop for break within match ( #3136 )
2023-02-22 19:12:44 +00:00
Florian Best
6ced5122e4
refactor(use-from-import): build fixed variant via AST ( #3132 )
2023-02-22 13:17:37 -05:00
Charlie Marsh
1efa2e07ad
Avoid match statement misidentification in token rules ( #3129 )
2023-02-22 15:44:45 +00:00
Charlie Marsh
df3932f750
Use file-specific quote for C408 ( #3128 )
2023-02-22 15:26:46 +00:00
Rupert Tombs
817d0b4902
Fix =/== error in ManualDictLookup
( #3117 )
2023-02-22 15:14:30 +00:00
Micha Reiser
ffd8e958fc
chore: Upgrade Rust to 1.67.0 ( #3125 )
2023-02-22 10:03:17 -05:00
Micha Reiser
ed33b75bad
test(ruff_python_formatter): Run all Black tests ( #2993 )
...
This PR changes the testing infrastructure to run all black tests and:
* Pass if Ruff and Black generate the same formatting
* Fail and write a markdown snapshot that shows the input code, the differences between Black and Ruff, Ruffs output, and Blacks output
This is achieved by introducing a new `fixture` macro (open to better name suggestions) that "duplicates" the attributed test for every file that matches the specified glob pattern. Creating a new test for each file over having a test that iterates over all files has the advantage that you can run a single test, and that test failures indicate which case is failing.
The `fixture` macro also makes it straightforward to e.g. setup our own spec tests that test very specific formatting by creating a new folder and use insta to assert the formatted output.
2023-02-22 09:25:06 -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
Ran Benita
bc3a9ce003
Mark typing.assert_never
as no return ( #3121 )
...
This function always raises, so RET503 shouldn't trigger for it.
2023-02-22 09:15:39 -05:00
Charlie Marsh
48005d87f8
Add missing backticks from rustdoc ( #3112 )
2023-02-22 05:03:06 +00:00
Charlie Marsh
e37e9c2ca3
Skip EXE001 and EXE002 rules on Windows ( #3111 )
2023-02-21 23:39:56 -05:00
Matthieu Devlin
8fde63b323
[pylint
] Implement E1205 and E106 ( #3084 )
2023-02-21 22:53:11 -05:00
Matthew Lloyd
97338e4cd6
[pylint] redefined-loop-name (W2901) ( #3022 )
...
Slightly broadens W2901 to cover `with` statements too.
Closes #2972 .
2023-02-22 03:23:47 +00: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
fa1459d56e
Avoid prefer-list-builtin for lambdas with *args
or **kwargs
( #3102 )
2023-02-21 17:44:37 -05:00
Charlie Marsh
d93c5811ea
Create bindings for MatchAs
patterns ( #3098 )
2023-02-21 22:04:09 +00:00
Charlie Marsh
06e426f509
Bump version to 0.0.250 ( #3095 )
2023-02-21 15:20:46 -05:00
Carlos Gonçalves
6eb014b3b2
feat(B032): add b032 flake8_bugbear ( #3085 )
2023-02-21 19:53:29 +00:00
Charlie Marsh
d9fd78d907
Ignore setters in flake8-boolean-trap ( #3092 )
2023-02-21 19:31:00 +00:00
Charlie Marsh
d5c65b5f1b
Add support for structural pattern matching ( #3047 )
2023-02-21 18:52:10 +00:00
Charlie Marsh
cdc4e86158
Add support for TryStar ( #3089 )
2023-02-21 13:42:20 -05:00
Charlie Marsh
50ec6d3b0f
Use LibCST to fix chained assertions ( #3087 )
2023-02-21 13:10:31 -05:00
Charlie Marsh
a6eb60cdd5
Enable function2
test ( #3083 )
2023-02-21 04:37:50 +00:00