Repository navigation
fix impl unwrap block #2207 - #3115
asukaminato0721 wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an “Unwrap block” refactor code action to the Pyrefly LSP, enabling users to remove an enclosing block statement (e.g., if, else, for/while without else, with) and reindent the block body into the parent scope.
Changes:
- Implemented
unwrap_blockquick-fix/refactor logic, including AST traversal and text edit construction. - Wired the new refactor into
Transactionand the non-wasm LSP server’s code-action collection. - Added initial LSP code-action tests for unwrap-block (basic
if,else, and loop-else rejection).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
pyrefly/lib/test/lsp/code_actions.rs |
Adds unwrap-block helpers and a few targeted tests. |
pyrefly/lib/state/lsp/quick_fixes/unwrap_block.rs |
New unwrap-block refactor implementation (target detection + edit generation). |
pyrefly/lib/state/lsp/quick_fixes/mod.rs |
Exposes the new unwrap_block module. |
pyrefly/lib/state/lsp.rs |
Adds Transaction::unwrap_block_code_actions API entrypoint. |
pyrefly/lib/lsp/non_wasm/server.rs |
Includes unwrap-block in refactor code-action computation/telemetry. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This comment has been minimized.
This comment has been minimized.
connernilsen
left a comment
There was a problem hiding this comment.
Hey @asukaminato0721, this is looking good, but a few things (mostly requests for more tests). Let me know if you have questions
683994e to
502de9b
Compare
This comment has been minimized.
This comment has been minimized.
92200b6 to
c4f23e6
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
34a35d7 to
522b137
Compare
Merging this PR will not alter performance
Comparing Footnotes
|
This comment has been minimized.
This comment has been minimized.
stroxler
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
522b137 to
d41bd41
Compare
d41bd41 to
0db793e
Compare
This comment has been minimized.
This comment has been minimized.
0db793e to
5bc7b7c
Compare
5bc7b7c to
d5ea5b6
Compare
|
According to mypy_primer, this change doesn't affect type check results on a corpus of open source code. ✅ |
|
I'm closing this PR; it's too old and attached to a stale diff internally, which makes it hard to review. I think we can turn around review faster on a fresh PR, if you choose to make one. If you do, there are at least four correctness issues AI review flagged that would be good to look into:
|
Summary
part of #2207
impl unwrap block
astral-sh/ruff#24552
Test Plan
add test