-
-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Labels
Description
Blocks with a long list of vars doesn't get split. Eg:
query do |long_arg:, longer_arg:, longerest_arg:, longerester_arg:, very_long_long_long_arg:|
foo
endisn't changed when run through stree format.
I started by writing my own plugin for BlockVar adding a group and a couple breakable_emptys, which works and produces output that conforms with line length:
query do |
long_arg:,
longer_arg:,
longerest_arg:,
longerester_arg:,
very_long_long_long_arg:
|
foo
endThe plugin has an issue though with blocks passed to methods with their own long list of args. In its current state, syntax_tree formats it like this:
foo(
argument,
argument,
argument,
argument,
argument,
argument,
argument,
) { |val| bar }With the plugin I wrote, that ends up being formatted as
foo(argument, argument, argument, argument, argument, argument, argument) do |
val
|
bar
endpresumably because the block var groups are the outermost, and therefore get split first.
Is there a way to tell syntax_tree to break the method call before breaking the block vars?