-
Notifications
You must be signed in to change notification settings - Fork 16
Description
I would like to split and intend following lines:
*** Variables ***
${VARIABLE} = High
@{VARIABLE_LIST} = High High, Med High, Med,\nLow High, Med,\\nLow
@{SHORT_LIST} = valuevalue valuevaluevalue valuevaluevalue
&{SHORT_DICT} = name=John Doe age=12 hobby=coding
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} = apple banana pineapple tomato
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding age=12 hobby=coding age=12 hobby=coding age=12 hobby=coding
into something like this:
*** Variables ***
${VARIABLE} = High
@{VARIABLE_LIST} = High High, Med High, Med,\nLow High, Med,\\nLow
@{SHORT_LIST} = valuevalue valuevaluevalue valuevaluevalue
&{SHORT_DICT} = name=John Doe age=12 hobby=coding
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} =
... apple banana pineapple tomato
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding age=12 hobby=coding age=12 hobby=coding age=12
... hobby=coding
With following configuration: defaults +
"SplitTooLongLine:skip_comments=True:split_on_every_arg=False:split_on_every_setting_arg=False:split_on_every_value=False"
I get this:
${VARIABLE} = High
@{VARIABLE_LIST} = High High, Med High, Med,\nLow High, Med,\\nLow
@{SHORT_LIST} = valuevalue valuevaluevalue valuevaluevalue
&{SHORT_DICT} = name=John Doe age=12 hobby=coding
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} = apple banana pineapple tomato
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding age=12 hobby=coding age=12 hobby=coding
... age=12 hobby=coding
Readable but lot of empty space. Also OVER_LONG_LIST
& OVER_LONG_DICT
are not aligned. To minimize that I'll use config:
"SplitTooLongLine:skip_comments=True:split_on_every_arg=False:split_on_every_setting_arg=False:split_on_every_value=False"
"AlignVariablesSection:fixed_width=4",
I get:
*** Variables ***
${VARIABLE} = High
@{VARIABLE_LIST} = High High, Med High, Med,\nLow High, Med,\\nLow
@{SHORT_LIST} = valuevalue valuevaluevalue valuevaluevalue
&{SHORT_DICT} = name=John Doe age=12 hobby=coding
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} = apple banana pineapple tomato
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding age=12 hobby=coding age=12 hobby=coding
... age=12 hobby=coding
Now it become difficult to read.
I can manually split the line with long variable but rest of the lines are still quite unreadable:
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} =
... apple banana pineapple tomato
Removing AlignVariablesSection:fixed_width
from config readability improves but that manually splitted line become awkward.
@{VERY_LONG_VARIABLE_NAME_CONTAINING_FRUITS} =
... apple banana pineapple tomato
I guess the reason why indentation is different between different variables (like OVER_LONG_LIST
& OVER_LONG_DICT
) is that they are formatted with SplitTooLongLine
and other are formatted with AlignVariablesSection
.
In my opinion, the formatting (splitting and aliging) should be done by same formatter so the aligning gets done the same way everywhere (mostly referring only to Settings
and variables
sections).
Other thing to mention.
If those OVER_LONG_LIST
& OVER_LONG_DICT
are manually splitted then they start to be formatted by AlignVariablesSection
which means that if AlignVariablesSection:fixed_width
is not set they become:
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding
... age=12 hobby=coding age=12 hobby=coding
... age=12 hobby=coding
which is not what is wanted.
If AlignVariablesSection:fixed_width
is set they become:
@{OVER_LONG_LIST} = valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue
... valuevaluevaluevaluevalue valuevaluevaluevaluevalue
&{OVER_LONG_DICT} = name=John Doe age=12 hobby=coding
... age=12 hobby=coding age=12 hobby=coding
... age=12 hobby=coding
This is what is wanted but then the other variable lines becomes difficult to read.
In fact, also the lines above containing variables (like @{OVER_LONG_LIST} = valuevaluevaluevaluevalue) should be aligned with other lines having variable names.