class Rufo::Formatter
def visit_brace_block(node)
def visit_brace_block(node) # [:brace_block, args, body] _, args, body = node # This is for the empty `{ }` block if void_exps?(body) consume_token :on_lbrace consume_block_args args consume_space consume_token :on_rbrace return end closing_brace_token, _ = find_closing_brace_token # If the whole block fits into a single line, use braces if current_token_line == closing_brace_token[0][0] consume_token :on_lbrace consume_block_args args consume_space visit_exps body, with_lines: false while semicolon? next_token end consume_space consume_token :on_rbrace return end # Otherwise it's multiline consume_token :on_lbrace consume_block_args args if (call_info = @line_to_call_info[@line]) call_info << true end indent_body body, force_multiline: true write_indent # If the closing bracket matches the indent of the first parameter, # keep it like that. Otherwise dedent. if call_info && call_info[1] != current_token_column call_info << @line end consume_token :on_rbrace end