class Rufo::Formatter

def visit_array_getter_or_setter(name, args)

def visit_array_getter_or_setter(name, args)
  visit name
  token_column = current_token_column
  check :on_lbracket
  write "["
  next_token
  column = @column
  skip_space
  # Sometimes args comes with an array...
  if args && args[0].is_a?(Array)
    visit_literal_elements args, token_column: token_column
  else
    if newline? || comment?
      needed_indent = next_indent
      if args
        consume_end_of_line
        write_indent(needed_indent)
      else
        skip_space_or_newline
      end
    else
      needed_indent = column
    end
    if args
      indent(needed_indent) do
        visit args
      end
    end
  end
  skip_space_or_newline
  check :on_rbracket
  write "]"
  next_token
end