mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
vfmt: allow multiple comments after if branches
This commit is contained in:
parent
68af46402e
commit
5b93b4f37d
|
@ -436,10 +436,10 @@ pub mut:
|
|||
|
||||
pub struct IfBranch {
|
||||
pub:
|
||||
cond Expr
|
||||
stmts []Stmt
|
||||
pos token.Position
|
||||
comment Comment
|
||||
cond Expr
|
||||
stmts []Stmt
|
||||
pos token.Position
|
||||
comments []Comment
|
||||
}
|
||||
|
||||
pub struct LockExpr {
|
||||
|
|
|
@ -1191,8 +1191,8 @@ pub fn (mut f Fmt) if_expr(it ast.IfExpr) {
|
|||
(it.is_expr || f.is_assign)
|
||||
f.single_line_if = single_line
|
||||
for i, branch in it.branches {
|
||||
if branch.comment.text != '' {
|
||||
f.comment(branch.comment)
|
||||
if branch.comments.len > 0 {
|
||||
f.comments(branch.comments, true, .keep)
|
||||
}
|
||||
if i == 0 {
|
||||
f.write('if ')
|
||||
|
|
|
@ -16,17 +16,14 @@ fn (mut p Parser) if_expr() ast.IfExpr {
|
|||
pos := p.tok.position()
|
||||
mut branches := []ast.IfBranch{}
|
||||
mut has_else := false
|
||||
mut comments := []ast.Comment{}
|
||||
for p.tok.kind in [.key_if, .key_else] {
|
||||
p.inside_if = true
|
||||
start_pos := p.tok.position()
|
||||
mut comment := ast.Comment{}
|
||||
if p.tok.kind == .key_if {
|
||||
p.next()
|
||||
} else {
|
||||
// if p.tok.kind == .comment {
|
||||
// p.error('place comments inside {}')
|
||||
// }
|
||||
comment = p.check_comment()
|
||||
comments = p.eat_comments()
|
||||
p.check(.key_else)
|
||||
if p.tok.kind == .key_if {
|
||||
p.next()
|
||||
|
@ -37,8 +34,9 @@ fn (mut p Parser) if_expr() ast.IfExpr {
|
|||
branches << ast.IfBranch{
|
||||
stmts: p.parse_block()
|
||||
pos: start_pos.extend(end_pos)
|
||||
comment: comment
|
||||
comments: comments
|
||||
}
|
||||
comments = []
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -74,8 +72,9 @@ fn (mut p Parser) if_expr() ast.IfExpr {
|
|||
cond: cond
|
||||
stmts: stmts
|
||||
pos: start_pos.extend(end_pos)
|
||||
comment: comment
|
||||
comments: comments
|
||||
}
|
||||
comments = []
|
||||
if p.tok.kind != .key_else {
|
||||
break
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user