ruby-syntax-tree / syntax_tree

Interact with the Ruby syntax tree
https://ruby-syntax-tree.github.io/syntax_tree/
MIT License
563 stars 54 forks source link

subscript assignment should not be split into multiple lines #407

Open maxnotarangelo opened 1 year ago

maxnotarangelo commented 1 year ago

When you assign a value to an element of an array or a hash, it looks pretty weird if the assignment part is split into three lines instead of one.

Original:

some_hash = { name: "my hash" }
some_array = ["hello", "goodbye"]

if some_condition?
  some_hash[:description] = "a long description that will be too long for a single line"
  some_array[0] = "a very long greeting that will be much too long for a single line"
end

Formatted:

some_hash = { name: "my hash" }
some_array = %w[hello goodbye]

if some_condition?
  some_hash[
    :description
  ] = "a long description that will be too long for a single line"
  some_array[
    0
  ] = "a very long greeting that will be much too long for a single line"
end

Preferred formatting:

some_hash = { name: "my hash" }
some_array = %w[hello goodbye]

if some_condition?
  some_hash[:description] =
    "a long description that will be too long for a single line"
  some_array[0] =
    "a very long greeting that will be much too long for a single line"
end