class Rufo::Formatter
def visit_when(node)
def visit_when(node) # [:when, conds, body, next_exp] _, conds, body, next_exp = node consume_keyword "when" consume_space indent(@column) do visit_comma_separated_list conds end then_keyword = keyword?("then") inline = then_keyword || semicolon? if then_keyword next_token skip_space skip_semicolons if newline? || comment? inline = false else write " then " end elsif semicolon? skip_semicolons if newline? || comment? inline = false else write "; " end end if inline indent do visit_exps body end else indent_body body end if next_exp write_indent if next_exp[0] == :else # [:else, body] consume_keyword "else" skip_space if newline? || semicolon? || comment? indent_body next_exp[1] else write_space " " visit_exps next_exp[1] end else visit next_exp end end end