Re: run pgindent on a regular basis / scripted manner
От | Andrew Dunstan |
---|---|
Тема | Re: run pgindent on a regular basis / scripted manner |
Дата | |
Msg-id | 341b0011-1190-288b-6773-e0bbe7495480@dunslane.net обсуждение исходный текст |
Ответ на | 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
Re: run pgindent on a regular basis / scripted manner |
Список | 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 по дате отправления: