Adjust formatting of line comments in lets (#1256)

This commit is contained in:
Daniel Chao
2025-10-28 17:53:06 -07:00
committed by GitHub
parent 825fcf5d1d
commit bbeeffdd32
3 changed files with 95 additions and 5 deletions

View File

@@ -972,18 +972,22 @@ internal class Builder(sourceText: String, private val grammarVersion: GrammarVe
private fun formatLetExpr(node: Node): FormatNode {
val separator = if (node.isMultiline()) forceLine() else spaceOrLine()
val endsWithLet = node.children.last().type == NodeType.LET_EXPR
val nodes =
formatGenericWithGen(
node.children,
{ _, next -> if (next.type == NodeType.LET_PARAMETER_DEFINITION) Space else separator },
) { node, next ->
if (next == null) {
if (node.type == NodeType.LET_EXPR) {
) { node, _ ->
when {
node.type == NodeType.LET_EXPR -> {
// unpack the lets
val group = formatLetExpr(node) as Group
Nodes(group.nodes)
} else indent(format(node))
} else format(node)
}
endsWithLet -> format(node)
node.type.isExpression || node.type.isAffix -> indent(format(node))
else -> format(node)
}
}
return Group(newId(), nodes)
}

View File

@@ -29,3 +29,46 @@ bar2 = ( // some comment
foo, bar
// another comment
) -> foo + bar
bar3 =
let (bar = new Dynamic {})
// some coment
(bar) {
qux = 4
}
bar4 =
// some coment
let (bar = new Dynamic {})
(bar) {
qux = 4
}
bar5 =
let (bar = 4)
// some coment
let (qux = 5)
bar + qux
bar6 =
let (bar = 4)
/* some comment */ bar + 5
bar7 =
let (bar = 4) /* some comment */
bar + 5
bar8 =
let (bar = 4)
// some comment
// another comment
let (foo = 5)
// some comment
// another comment
bar + foo
bar9 =
let (bar = 4)
// some comment
// another comment
bar

View File

@@ -32,3 +32,46 @@ bar2 = ( // some comment
bar
// another comment
) -> foo + bar
bar3 =
let (bar = new Dynamic {})
// some coment
(bar) {
qux = 4
}
bar4 =
// some coment
let (bar = new Dynamic {})
(bar) {
qux = 4
}
bar5 =
let (bar = 4)
// some coment
let (qux = 5)
bar + qux
bar6 =
let (bar = 4)
/* some comment */ bar + 5
bar7 =
let (bar = 4) /* some comment */
bar + 5
bar8 =
let (bar = 4)
// some comment
// another comment
let (foo = 5)
// some comment
// another comment
bar + foo
bar9 =
let (bar = 4)
// some comment
// another comment
bar