class Rufo::Formatter

def visit_binary(node)

def visit_binary(node)
  # [:binary, left, op, right]
  _, left, op, right = node
  visit left
  if space?
    needs_space = true
  else
    needs_space = op != :* && op != :/ && op != :**
  end
  has_backslash, first_space = skip_space_backslash
  if has_backslash
    needs_space = true
    write " \\"
    write_line
    write_indent(next_indent)
  elsif @preserve_whitespace && first_space
    write_space first_space[2]
  else
    write_space if needs_space
  end
  consume_op_or_keyword op
  indent_after_space right, want_space: needs_space
end