class Rufo::Formatter
def visit_lambda(node)
def visit_lambda(node) # [:lambda, [:params, nil, nil, nil, nil, nil, nil, nil], [[:void_stmt]]] _, params, body = node check :on_tlambda write "->" next_token first_space = skip_space write_space_using_setting(first_space, :one) if empty_params?(params) if current_token_kind == :on_lparen next_token skip_space_or_newline check :on_rparen next_token skip_space_or_newline end else visit params consume_space end if void_exps?(body) consume_token :on_tlambeg consume_space consume_token :on_rbrace return end brace = current_token_value == "{" if brace closing_brace_token, index = find_closing_brace_token # Check if the whole block fits into a single line if current_token_line == closing_brace_token[0][0] consume_token :on_tlambeg consume_space visit_exps body, with_lines: false consume_space consume_token :on_rbrace return end consume_token :on_tlambeg else consume_keyword "do" end indent_body body, force_multiline: true write_indent if brace consume_token :on_rbrace else consume_keyword "end" end end