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)
|
dn_description := trim_doc_node_description(comments)
|
||||||
vd.search_index << dn.name
|
vd.search_index << dn.name
|
||||||
vd.search_data << SearchResult{
|
vd.search_data << SearchResult{
|
||||||
prefix: if dn.parent_name != '' {
|
prefix: if dn.parent_name != '' { '$dn.kind ($dn.parent_name)' } else { '$dn.kind ' }
|
||||||
'$dn.kind ($dn.parent_name)'
|
|
||||||
} else {
|
|
||||||
'$dn.kind '
|
|
||||||
}
|
|
||||||
description: dn_description
|
description: dn_description
|
||||||
badge: mod
|
badge: mod
|
||||||
link: vd.get_file_name(mod, out) + '#' + get_node_id(dn)
|
link: vd.get_file_name(mod, out) + '#' + get_node_id(dn)
|
||||||
|
|
|
@ -35,6 +35,7 @@ pub mut:
|
||||||
file ast.File
|
file ast.File
|
||||||
did_imports bool
|
did_imports bool
|
||||||
is_assign bool
|
is_assign bool
|
||||||
|
is_arr_push bool
|
||||||
auto_imports []string // automatically inserted imports that the user forgot to specify
|
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
|
import_pos int // position of the imports in the resulting string for later autoimports insertion
|
||||||
used_imports []string // to remove unused imports
|
used_imports []string // to remove unused imports
|
||||||
|
@ -1430,6 +1431,9 @@ pub fn (mut f Fmt) infix_expr(node ast.InfixExpr) {
|
||||||
if !f.buffering {
|
if !f.buffering {
|
||||||
f.buffering = true
|
f.buffering = true
|
||||||
}
|
}
|
||||||
|
if node.op == .left_shift {
|
||||||
|
f.is_arr_push = true
|
||||||
|
}
|
||||||
infix_start := f.out.len
|
infix_start := f.out.len
|
||||||
start_len := f.line_len
|
start_len := f.line_len
|
||||||
f.expr(node.left)
|
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.wrap_infix(infix_start, start_len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
f.is_arr_push = false
|
||||||
f.or_expr(node.or_block)
|
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) {
|
pub fn (mut f Fmt) if_expr(it ast.IfExpr) {
|
||||||
dollar := if it.is_comptime { '$' } else { '' }
|
dollar := if it.is_comptime { '$' } else { '' }
|
||||||
mut single_line := it.branches.len == 2 && it.has_else && branch_is_single_line(it.branches[0])
|
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
|
f.single_line_if = single_line
|
||||||
if_start := f.line_len
|
if_start := f.line_len
|
||||||
for {
|
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
|
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
|
typ: typ
|
||||||
default_expr: ast.ex2fe(default_expr)
|
default_expr: ast.ex2fe(default_expr)
|
||||||
has_default_expr: has_default_expr
|
has_default_expr: has_default_expr
|
||||||
is_pub: if is_embed {
|
is_pub: if is_embed { true } else { is_field_pub }
|
||||||
true
|
is_mut: if is_embed { true } else { is_field_mut }
|
||||||
} else {
|
|
||||||
is_field_pub
|
|
||||||
}
|
|
||||||
is_mut: if is_embed {
|
|
||||||
true
|
|
||||||
} else {
|
|
||||||
is_field_mut
|
|
||||||
}
|
|
||||||
is_global: is_field_global
|
is_global: is_field_global
|
||||||
attrs: p.attrs
|
attrs: p.attrs
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue