class Rufo::Formatter
def visit_case(node)
def visit_case(node) # [:case, cond, case_when] _, cond, case_when = node # If node is inline pattern matching, case_expression will be false case_expression = keyword?("case") already_visit_cond = false if case_expression if cond && cond[0] == :case visit cond # In this case, the `case` token is for the `cond`, but not for `node` case_expression = false already_visit_cond = true else consume_keyword "case" end end if cond && !already_visit_cond consume_space visit cond end if case_expression consume_end_of_line write_indent else consume_space end visit case_when if case_expression write_indent consume_keyword "end" end end