Re: run pgindent on a regular basis / scripted manner

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: Jelte Fennema <postgres(at)jeltef(dot)nl>, "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Noah Misch <noah(at)leadboat(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Bruce Momjian <bruce(at)momjian(dot)us>, Magnus Hagander <magnus(at)hagander(dot)net>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Jesse Zhang <sbjesse(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: run pgindent on a regular basis / scripted manner
Date: 2023-04-26 19:44:47
Message-ID: 341b0011-1190-288b-6773-e0bbe7495480@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 2023-04-26 We 09:27, Tom Lane wrote:
> Peter Eisentraut<peter(dot)eisentraut(at)enterprisedb(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-04-26 20:05:07 Re: run pgindent on a regular basis / scripted manner
Previous Message Andrew Dunstan 2023-04-26 19:10:09 Re: issue with meson builds on msys2