Discussion: Long chains with some long arguments followed by method calls or property accesses could be more harmonious
还没有人认领这个 Issue。
评估
调研方向
Start at the parser's chain-formatting logic, which currently adds backslashes and vertically aligns chained calls when the chain is too long. Use the provided GDScript example as the reproduction case; done means preserving the unwrapped first call and keeping the trailing method calls on one line when the long arguments already force a break.
由索引模型根据 Issue 内容生成。
描述
From a course module we're working on. Input:
tween.tween_method(
func(t: float) -> void:
if move_and_collide(start.lerp(destination, t) - global_position):
tween.kill()
_transition_to_state(State.NORMAL),
0.0, 1.0, duration
).set_trans(Hook.PULL_TRANS).set_ease(Hook.PULL_EASE)
Current output:
tween \
.tween_method(
func(t: float) -> void:
if move_and_collide(start.lerp(destination, t) - global_position):
tween.kill()
_transition_to_state(State.NORMAL),
0.0,
1.0,
duration,
) \
.set_trans(Hook.PULL_TRANS) \
.set_ease(Hook.PULL_EASE)
In this case, it's probably more readable as a result to keep the tail end of the chain after the long arguments on a single line if possible. And for the first line, we definitely want not to wrap.
The parser is seeing this as a chain too long to fit on a single line, and it tries to consistently add backslashes for vertical chains of method calls and align the property accesses/method calls vertically.
Desired output:
tween.tween_method(
func(t: float) -> void:
if move_and_collide(start.lerp(destination, t) - global_position):
tween.kill()
_transition_to_state(State.NORMAL),
0.0,
1.0,
duration,
).set_trans(Hook.PULL_TRANS).set_ease(Hook.PULL_EASE)
- 主要语言
- Rust
- 星标
- 468
- 派生
- 39
- 平均合并
- 6 小时 24 分钟
- 30 天内合并 PR
- 3
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
GDQuest/GDScript-formatter 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
GDQuest/GDScript-formatter#365 ·
-
难度 4/5 3-5 天 新手友好度 48/100
GDQuest/GDScript-formatter#366 ·
-
难度 4/5 3-5 天 新手友好度 48/100
GDQuest/GDScript-formatter#354 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
GDQuest/GDScript-formatter#353 · 4 条评论 ·
-
难度 3/5 1-2 天 新手友好度 63/100
GDQuest/GDScript-formatter#348 · 3 条评论 · 2 个 reaction ·
查看 GDQuest/GDScript-formatter 的全部 Issue
相似的 Issue
-
[Bug]: rerank on the huggingface provider (TEI) always costs $0, configured input_cost_per_query is ignored可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭llm translation
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
CybercentreCanada/sawp#13 ·
-
area: backend type: enhancement
难度 2/5 1-3 小时 新手友好度 61/100
armadavalor/WinKnife#6 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 78/100
5omeOtherGuy/phaseone#870 ·
维护者通常 1 天内回复