fmt: single line if
parent
15a2927f09
commit
d075be73e8
|
@ -22,6 +22,7 @@ mut:
|
||||||
indent int
|
indent int
|
||||||
empty_line bool
|
empty_line bool
|
||||||
line_len int
|
line_len int
|
||||||
|
single_line_if bool
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fmt(file ast.File, table &table.Table) string {
|
pub fn fmt(file ast.File, table &table.Table) string {
|
||||||
|
@ -130,8 +131,10 @@ fn (f mut Fmt) stmt(node ast.Stmt) {
|
||||||
}
|
}
|
||||||
ast.ExprStmt {
|
ast.ExprStmt {
|
||||||
f.expr(it.expr)
|
f.expr(it.expr)
|
||||||
|
if !f.single_line_if {
|
||||||
f.writeln('')
|
f.writeln('')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ast.FnDecl {
|
ast.FnDecl {
|
||||||
f.write(it.str(f.table))
|
f.write(it.str(f.table))
|
||||||
f.writeln(' {')
|
f.writeln(' {')
|
||||||
|
@ -241,16 +244,36 @@ fn (f mut Fmt) expr(node ast.Expr) {
|
||||||
f.write(it.val)
|
f.write(it.val)
|
||||||
}
|
}
|
||||||
ast.IfExpr {
|
ast.IfExpr {
|
||||||
|
single_line := it.stmts.len == 1 && it.else_stmts.len == 1 && it.typ != table.void_type
|
||||||
|
f.single_line_if = single_line
|
||||||
f.write('if ')
|
f.write('if ')
|
||||||
f.expr(it.cond)
|
f.expr(it.cond)
|
||||||
|
if single_line {
|
||||||
|
f.write(' { ')
|
||||||
|
}
|
||||||
|
else {
|
||||||
f.writeln(' {')
|
f.writeln(' {')
|
||||||
|
}
|
||||||
f.stmts(it.stmts)
|
f.stmts(it.stmts)
|
||||||
|
if single_line {
|
||||||
|
f.write(' ')
|
||||||
|
}
|
||||||
f.write('}')
|
f.write('}')
|
||||||
if it.else_stmts.len > 0 {
|
if it.else_stmts.len > 0 {
|
||||||
f.writeln(' else {')
|
f.write(' else {')
|
||||||
|
if single_line {
|
||||||
|
f.write(' ')
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
f.writeln('')
|
||||||
|
}
|
||||||
f.stmts(it.else_stmts)
|
f.stmts(it.else_stmts)
|
||||||
|
if single_line {
|
||||||
|
f.write(' ')
|
||||||
|
}
|
||||||
f.write('}')
|
f.write('}')
|
||||||
}
|
}
|
||||||
|
f.single_line_if = false
|
||||||
}
|
}
|
||||||
ast.Ident {
|
ast.Ident {
|
||||||
f.write('$it.name')
|
f.write('$it.name')
|
||||||
|
|
|
@ -66,5 +66,6 @@ fn fn_with_3_args(arg1 string, arg2 int, arg3 User) int {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (this User) fn_with_receiver() {
|
fn (this User) fn_with_receiver() {
|
||||||
|
x := if true { 1 } else { 2 }
|
||||||
println('')
|
println('')
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (this User) fn_with_receiver() {
|
fn (this User) fn_with_receiver() {
|
||||||
|
x := if true {1} else {2}
|
||||||
println('')
|
println('')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue