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