Why is perltidy using indent-columns instead of continuation-indentation when breaking up a long if-line?by torgny (Sexton)
|on Jan 07, 2019 at 12:14 UTC||Need Help??|
torgny has asked for the wisdom of the Perl Monks concerning the following question:
I would like to use perltidy but I cannot quite wrap my head around how continuation indentation works when it comes to certain statements.
Formatting the lines
with perltidy using the default options of -l=80 -i=4 -ci=2, I would expect the program to output
However, the actual result is
That is, perltidy is breaking up the first line and indenting it with four spaces (actually, the number of spaces specified by the -i option) instead of two spaces. I have searched the ChangeLog of perltidy (which is otherwise very helpful in explaining changed behavior of the program) for an explanation but I haven't found other than that something seems to have changed between 2001 06 17 and 2001 10 16 which have the following, respectively:
My first thought was that perltidy is aligning the expression with the opening paren, but that does not seem to be the case, as replacing if with while yields
It may be noted that perltidy does not insert a space after the opening paren despite the the manual's claim that spaces within containers are always symmetric. In fact, while -pt=2 will remove the space before the closing paren, not even -pt=0 will insert a space after the opening paren.
Why is perltidy using indent-columns instead of continuation-indentation and why is the tightness not symmetric in these particular cases? What is it that I fail to understand? Is continuation-indentation used only for certain long lines and not for others?