Micha Reiser
ebdc4afc33
Suite formatting and JoinNodesBuilder
( #4805 )
2023-06-02 14:14:38 +00:00
Jonathan Plasse
03ee6033f9
Fix flake8-fixme architecture ( #4807 )
2023-06-02 09:15:44 -04:00
Micha Reiser
a401989b7a
Format StmtExpr ( #4788 )
2023-06-02 12:52:38 +00:00
Micha Reiser
4cd4b37e74
Format the comment content ( #4786 )
2023-06-02 11:22:34 +00:00
konstin
602b4b3519
Merge registry into codes ( #4651 )
...
* Document codes.rs
* Refactor codes.rs before merging
Helper script:
```python
# %%
from pathlib import Path
codes = Path("crates/ruff/src/codes.rs").read_text().splitlines()
rules = Path("a.txt").read_text().strip().splitlines()
rule_map = {i.split("::")[-1]: i for i in rules}
# %%
codes_new = []
for line in codes:
if ", Rule::" in line:
left, right = line.split(", Rule::")
right = right[:-2]
line = left + ", " + rule_map[right] + "),"
codes_new.append(line)
# %%
Path("crates/ruff/src/codes.rs").write_text("\n".join(codes_new))
```
Co-authored-by: Jonathan Plasse <13716151+JonathanPlasse@users.noreply.github.com>
2023-06-02 10:33:01 +00:00
konstin
c4fdbf8903
Switch PyFormatter lifetimes ( #4804 )
...
Stylistic change to have the input lifetime first and the output lifetime second. I'll rebase my other PR on top of this.
Test plan: `cargo clippy`
2023-06-02 12:26:39 +02:00
Micha Reiser
5d939222db
Leading, Dangling, and Trailing comments formatting ( #4785 )
2023-06-02 09:26:36 +02:00
Evan Rittenhouse
b2498c576f
Implement flake8_fixme
and refactor TodoDirective
( #4681 )
2023-06-02 08:18:47 +02:00
Micha Reiser
c89d2f835e
Add to AnyNode
and AnyNodeRef
conversion methods to AstNode
( #4783 )
2023-06-02 08:10:41 +02:00
Charlie Marsh
211d8e170d
Ignore error calls with exc_info
in TRY400 ( #4797 )
2023-06-02 04:59:45 +00:00
Charlie Marsh
b92be59ffe
Remove some matches on Stmt
( #4796 )
2023-06-02 04:36:36 +00:00
Charlie Marsh
b030c70dda
Move unused imports rule into its own module ( #4795 )
2023-06-02 04:27:23 +00:00
Charlie Marsh
10ba79489a
Exclude function definition from too-many-statements rule ( #4794 )
2023-06-02 04:04:25 +00:00
Charlie Marsh
ea3cbcc362
Avoid enforcing native-literals rule within nested f-strings ( #4488 )
2023-06-02 04:00:31 +00:00
Charlie Marsh
b8f45c93b4
Use a separate fix-isolation group for every parent node ( #4774 )
2023-06-02 03:07:55 +00:00
Charlie Marsh
621718784a
Replace deletion-tracking with enforced isolation levels ( #4766 )
2023-06-02 02:45:56 +00:00
qdegraaf
fcbf5c3fae
Add PYI034 for flake8-pyi
plugin ( #4764 )
2023-06-02 02:15:57 +00:00
Justin Prieto
c68686b1de
[flake8-pyi
] Implement PYI054 ( #4775 )
2023-06-02 01:21:27 +00:00
Justin Prieto
583411a29f
[flake8-pyi
] Implement PYI053 ( #4770 )
2023-06-01 23:00:15 +00:00
qdegraaf
6d94aa89e3
[flake8-pyi
] Implement PYI025
( #4791 )
2023-06-01 22:45:31 +00:00
Sladyn
8d5d34c6d1
Migrate flake8_pyi_rules from unspecified
to suggested
and automatic
( #4750 )
2023-06-01 22:35:47 +00:00
Jonathan Plasse
edadd7814f
Add pyflakes.extend-generics
setting ( #4677 )
2023-06-01 22:19:37 +00:00
Charlie Marsh
3180f9978a
Avoid extra newline between diagnostics in grouped mode ( #4776 )
2023-06-01 21:33:29 +00:00
Tom Kuson
bdff4a66ac
Add Pylint rule C0208
(use-sequence-for-iteration
) as PLC0208
(iteration-over-set
) ( #4706 )
2023-06-01 21:26:23 +00:00
Charlie Marsh
ab26f2dc9d
Use saturating_sub in more token-walking methods ( #4773 )
2023-06-01 17:16:32 -04:00
Dhruv Manilawala
0099f9720f
Add autofix for PLR1701
(repeated-isinstance-calls) ( #4792 )
2023-06-01 20:43:04 +00:00
Tom Kuson
d9fdcebfc1
Complete the Pyflakes documention ( #4787 )
2023-06-01 20:25:32 +00:00
Charlie Marsh
b7038cee13
Include ImportError in non-fixable try-catch imports ( #4793 )
2023-06-01 19:53:49 +00:00
Charlie Marsh
be740106e0
Remove some lexer usages from Insertion
( #4763 )
2023-06-01 19:45:43 +00:00
konstin
63d892f1e4
Implement basic module formatting ( #4784 )
...
* Add Format for Stmt
* Implement basic module formatting
This implements formatting each statement in a module with a hard line break in between, so that we can start formatting statements.
Basic testing is done by the snapshots
2023-06-01 15:25:50 +02:00
Micha Reiser
28aad95414
Remove collapsing space
behaviour from Printer
( #4782 )
2023-06-01 13:38:42 +02:00
Micha Reiser
5f4bce6d2b
Implement IntoFormat
for &T
( #4781 )
2023-06-01 12:20:49 +02:00
Micha Reiser
4ea4fd1984
Introduce lines_before
helper ( #4780 )
2023-06-01 11:56:43 +02:00
konstin
d4027d8b65
Use new formatter infrastructure in CLI and test ( #4767 )
...
* Use dummy verbatim formatter for all nodes
* Use new formatter infrastructure in CLI and test
* Expose the new formatter in the CLI
* Merge import blocks
2023-06-01 11:55:04 +02:00
konstin
9bf168c0a4
Use dummy verbatim formatter for all nodes ( #4755 )
2023-06-01 08:25:26 +00:00
Micha Reiser
59148344be
Place comments of left and right binary expression operands ( #4751 )
2023-06-01 07:01:32 +00:00
konstin
0945803427
Generate FormatRule definitions ( #4724 )
...
* Generate FormatRule definitions
* Generate verbatim output
* pub(crate) everything
* clippy fix
* Update crates/ruff_python_formatter/src/lib.rs
Co-authored-by: Micha Reiser <micha@reiser.io>
* Update crates/ruff_python_formatter/src/lib.rs
Co-authored-by: Micha Reiser <micha@reiser.io>
* stub out with Ok(()) again
* Update crates/ruff_python_formatter/src/lib.rs
Co-authored-by: Micha Reiser <micha@reiser.io>
* PyFormatContext::{contents, locator} with `#[allow(unused)]`
* Can't leak private type
* remove commented code
* Fix ruff errors
* pub struct Format{node} due to rust rules
---------
Co-authored-by: Julian LaNeve <lanevejulian@gmail.com>
Co-authored-by: Micha Reiser <micha@reiser.io>
2023-06-01 08:38:53 +02:00
Micha Reiser
b7294b48e7
Handle positional-only-arguments separator comments ( #4748 )
2023-06-01 06:22:49 +00:00
Micha Reiser
be31d71849
Correctly associate own-line comments in bodies ( #4671 )
2023-06-01 08:12:53 +02:00
Charlie Marsh
46c3b3af94
Use ALL
in fixable
documentation ( #4772 )
2023-05-31 22:30:12 -04:00
Charlie Marsh
3d34d9298d
Remove erroneous method calls in flake8-unused-arguments docs ( #4771 )
2023-06-01 02:23:59 +00:00
Charlie Marsh
1156c65be1
Add autofix to move runtime-imports out of type-checking blocks ( #4743 )
2023-05-31 18:09:04 +00:00
Charlie Marsh
1a53996f53
Add autofix for flake8-type-checking ( #4742 )
2023-05-31 17:53:36 +00:00
Charlie Marsh
4bd395a850
Apply edits in sorted order ( #4762 )
2023-05-31 17:26:31 +00:00
Charlie Marsh
bb4f3dedf4
Enable start-of-block insertions ( #4741 )
2023-05-31 17:08:43 +00:00
Jonathan Plasse
01470d9045
Add E201, E202, E203 auto-fix ( #4723 )
2023-05-31 16:53:47 +00:00
Charlie Marsh
0b471197dc
Extract lower-level edit utility from autofix module ( #4737 )
2023-05-31 16:50:54 +00:00
Charlie Marsh
399eb84d5e
Add a ruff_textwrap
crate ( #4731 )
2023-05-31 16:35:23 +00:00
qdegraaf
2b2812c4f2
Add PYI024 for flake8-pyi
plugin ( #4756 )
2023-05-31 16:07:04 +00:00
Charlie Marsh
9d0ffd33ca
Move universal newline handling into its own crate ( #4729 )
2023-05-31 12:00:47 -04:00