fmt: keep `arr << if x {} else {}` on a single line (#8289)
parent
79b4b0e6c8
commit
522eac200f
|
@ -201,11 +201,7 @@ fn (mut vd VDoc) create_search_results(mod string, dn doc.DocNode, out Output) {
|
|||
dn_description := trim_doc_node_description(comments)
|
||||
vd.search_index << dn.name
|
||||
vd.search_data << SearchResult{
|
||||
prefix: if dn.parent_name != '' {
|
||||
'$dn.kind ($dn.parent_name)'
|
||||
} else {
|
||||
'$dn.kind '
|
||||
}
|
||||
prefix: if dn.parent_name != '' { '$dn.kind ($dn.parent_name)' } else { '$dn.kind ' }
|
||||
description: dn_description
|
||||
badge: mod
|
||||
link: vd.get_file_name(mod, out) + '#' + get_node_id(dn)
|
||||
|
|
|
@ -35,6 +35,7 @@ pub mut:
|
|||
file ast.File
|
||||
did_imports bool
|
||||
is_assign bool
|
||||
is_arr_push bool
|
||||
auto_imports []string // automatically inserted imports that the user forgot to specify
|
||||
import_pos int // position of the imports in the resulting string for later autoimports insertion
|
||||
used_imports []string // to remove unused imports
|
||||
|
@ -1430,6 +1431,9 @@ pub fn (mut f Fmt) infix_expr(node ast.InfixExpr) {
|
|||
if !f.buffering {
|
||||
f.buffering = true
|
||||
}
|
||||
if node.op == .left_shift {
|
||||
f.is_arr_push = true
|
||||
}
|
||||
infix_start := f.out.len
|
||||
start_len := f.line_len
|
||||
f.expr(node.left)
|
||||
|
@ -1454,6 +1458,7 @@ pub fn (mut f Fmt) infix_expr(node ast.InfixExpr) {
|
|||
f.wrap_infix(infix_start, start_len)
|
||||
}
|
||||
}
|
||||
f.is_arr_push = false
|
||||
f.or_expr(node.or_block)
|
||||
}
|
||||
|
||||
|
@ -1518,7 +1523,7 @@ pub fn (mut f Fmt) wrap_infix(start_pos int, start_len int) {
|
|||
pub fn (mut f Fmt) if_expr(it ast.IfExpr) {
|
||||
dollar := if it.is_comptime { '$' } else { '' }
|
||||
mut single_line := it.branches.len == 2 && it.has_else && branch_is_single_line(it.branches[0])
|
||||
&& branch_is_single_line(it.branches[1])&& (it.is_expr || f.is_assign)
|
||||
&& branch_is_single_line(it.branches[1])&& (it.is_expr || f.is_assign || f.is_arr_push)
|
||||
f.single_line_if = single_line
|
||||
if_start := f.line_len
|
||||
for {
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
a, b := if true { 'a', 'b' } else { 'b', 'a' }
|
||||
println(a)
|
||||
println(b)
|
|
@ -17,5 +17,4 @@ fn main() {
|
|||
x: 5
|
||||
}
|
||||
}
|
||||
_ := if false { Foo{} } else { Foo{5, 6} }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
a, b := if true { 'a', 'b' } else { 'b', 'a' }
|
||||
_ := if false { Foo{} } else { Foo{5, 6} }
|
||||
arr := [0, 1]
|
||||
arr << if true { 2 } else { 3 }
|
|
@ -273,16 +273,8 @@ fn (mut p Parser) struct_decl() ast.StructDecl {
|
|||
typ: typ
|
||||
default_expr: ast.ex2fe(default_expr)
|
||||
has_default_expr: has_default_expr
|
||||
is_pub: if is_embed {
|
||||
true
|
||||
} else {
|
||||
is_field_pub
|
||||
}
|
||||
is_mut: if is_embed {
|
||||
true
|
||||
} else {
|
||||
is_field_mut
|
||||
}
|
||||
is_pub: if is_embed { true } else { is_field_pub }
|
||||
is_mut: if is_embed { true } else { is_field_mut }
|
||||
is_global: is_field_global
|
||||
attrs: p.attrs
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue