LiveScript icon indicating copy to clipboard operation
LiveScript copied to clipboard

Throw syntax error on a function call line which ends with a comma and further line(s) without indentation

Open ceremcem opened this issue 5 years ago • 3 comments
trafficstars

I've came across with this case numerous times. Consider the following example:

hello foo, bar
hi there

Compiled output is obviously:

hello(foo, bar);
hi(there);

Then I remove the bar parameter, but accidentally forgot to remove the comma. The compiled output becomes:

hello(foo, hi(there));

instead of:

hello(foo);
hi(there);

Proposal

I guess this is not a bug, but a feature. However, I think LiveScript will be more error resistant if this feature is removed and users are forced to use ~~backslash or parenthesis for multi line splitting purposes.~~

~~At least,~~ an indentation for further lines ~~must be required for considering a line to be split.~~ to consider the line split.

ceremcem avatar Jul 15 '20 07:07 ceremcem

warning when there's no indentation sounds OK, but that's definitely a feature.

vendethiel avatar Jul 15 '20 10:07 vendethiel

what will happen with:

callFunc param,
         anotherParam,
         someFlag

beauty will suffer :(

determin1st avatar Jul 19 '20 20:07 determin1st

callFunc param,
         anotherParam,
         someFlag

is okay, however the following - which is my vote - will throw syntax error:

callFunc param,
anotherParam,
someFlag

Second one is also confusing to human eye anyway.

ceremcem avatar Jul 19 '20 21:07 ceremcem