Re: run pgindent on a regular basis / scripted manner - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: run pgindent on a regular basis / scripted manner
Date
Msg-id 341b0011-1190-288b-6773-e0bbe7495480@dunslane.net
Whole thread Raw
In response to Re: run pgindent on a regular basis / scripted manner  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: run pgindent on a regular basis / scripted manner  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: run pgindent on a regular basis / scripted manner  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers


On 2023-04-26 We 09:27, Tom Lane wrote:
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
On 24.04.23 16:14, Tom Lane wrote:
I certainly don't like its current behavior where adding/changing one
line can have side-effects on nearby lines.  But we have a proposal
to clean that up, and I'm cautiously optimistic that it'll be better
in future.  Did you have other specific concerns?
I think the worst is how it handles multi-line data structures like
         $newnode->command_ok(             [                 'psql', '-X',                 '-v',   'ON_ERROR_STOP=1',                 '-c',   $upcmds,                 '-d',   $oldnode->connstr($updb),             ],             "ran version adaptation commands for database $updb");
Yeah, I agree, there is no case where that doesn't suck.  I don't
mind it imposing specific placements of brackets and so on ---
that's very analogous to what pgindent will do.  But it likes to
re-flow comma-separated lists, and generally manages to make a
complete logical hash of them when it does, as in your other
example:

         $node->command_fails_like(             [                 'pg_basebackup',   '-D',                 "$tempdir/backup", '--compress',                 $cft->[0]             ],             qr/$cfail/,             'client ' . $cft->[2]);
Can we fix it to preserve the programmer's choices of line breaks
in comma-separated lists?



I doubt there's something like that. You can freeze arbitrary blocks of code like this (from the manual)


#<<<  format skipping: do not let perltidy change my nice formatting
        my @list = (1,
                    1, 1,
                    1, 2, 1,
                    1, 3, 3, 1,
                    1, 4, 6, 4, 1,);
#>>>    


But that gets old and ugly pretty quickly.

There is a --freeze-newlines option, but it's global. I don't think we want that.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: issue with meson builds on msys2
Next
From: Tom Lane
Date:
Subject: Re: run pgindent on a regular basis / scripted manner