Re: run pgindent on a regular basis / scripted manner

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jelte Fennema <postgres@jeltef.nl>, "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, Robert Haas <robertmhaas@gmail.com>, Justin Pryzby <pryzby@telsasoft.com>, Andres Freund <andres@anarazel.de>, Noah Misch <noah@leadboat.com>, Peter Geoghegan <pg@bowt.ie>, Bruce Momjian <bruce@momjian.us>, Magnus Hagander <magnus@hagander.net>, Alvaro Herrera <alvherre@2ndquadrant.com>, Stephen Frost <sfrost@snowman.net>, Jesse Zhang <sbjesse@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2023-04-22T19:52:24Z
Lists: pgsql-hackers
On 2023-04-22 Sa 11:37, Tom Lane wrote:
> Andrew Dunstan<andrew@dunslane.net>  writes:
>> On 2023-04-22 Sa 10:39, Tom Lane wrote:
>>> Another obstacle in the way of (1) is that there was some discussion
>>> of changing perltidy version and/or options.  But I don't believe
>>> we have a final proposal on that, much less committed code.
>> Well, I posted a fairly concrete suggestion with an example patch
>> upthread at
>> <https://www.postgresql.org/message-id/47011581-ddec-1a87-6828-6edfabe6b7b6%40dunslane.net>
>> I still think that's worth doing.
> OK, so plan is (a) update perltidyrc to add --valign-exclusion-list,
> (b) adjust pgindent/README to recommend perltidy version 20221112.
>
> Questions:
>
> * I see that there's now a 20230309 release, should we consider that
> instead?


A test I just ran gave identical results to those from 20221112


>
> * emacs.samples provides pgsql-perl-style that claims to match
> perltidy's rules.  Does that need any adjustment?  I don't see
> anything in it that looks relevant, but I'm not terribly familiar
> with emacs' Perl formatting options.


At least w.r.t. the vertical alignment issue, AFAICT the emacs style 
does not attempt to align anything vertically except the first non-space 
thing on the line. So if anything, by abandoning a lot of vertical 
alignment it would actually be closer to what the sample emacs style does.

The great advantage of not doing this alignment is that there is far 
less danger of perltidy trying to realign lines that have not in fact 
changed, because some nearby line has changed. So we'd have a good deal 
less pointless churn.


cheers


andrew

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

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix comment from commit 22655aa231.

  2. Add a few recent commits to .git-blame-ignore-revs.

  3. Pre-beta2 mechanical code beautification.

  4. Pre-beta mechanical code beautification.

  5. Make agreed-on updates in perltidy options.

  6. Remove obsolete pgindent options --code-base and --build

  7. Integrate pg_bsd_indent into our build/test infrastructure.

  8. Sync pg_bsd_indent's copyright notices with Postgres practice.

  9. Import pg_bsd_indent sources.

  10. pgindent: filter files for the --commit option

  11. pgindent: more ways to find files to indent

  12. Fix pgindent --show-diff option.

  13. Add non-destructive modes to pgindent

  14. Initial pgindent run with pg_bsd_indent version 2.0.