pgindent (probably my missing something obvious)

Started by James Colemanover 2 years ago4 messages
#1James Coleman
jtc331@gmail.com

Hello,

This is the first time I've run pgindent on my current machine, and it
doesn't seem to be making any modifications to source files. For
example this command:

./src/tools/pgindent/pgindent src/backend/optimizer/path/allpaths.c

leaves the allpaths.c file unchanged despite my having some very long
function calls. I've downloaded the latest typedefs list, but I
haven't added any types anyway.

What obvious thing am I missing?

Thanks,
James Coleman

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: James Coleman (#1)
Re: pgindent (probably my missing something obvious)

James Coleman <jtc331@gmail.com> writes:

This is the first time I've run pgindent on my current machine, and it
doesn't seem to be making any modifications to source files. For
example this command:

./src/tools/pgindent/pgindent src/backend/optimizer/path/allpaths.c

leaves the allpaths.c file unchanged despite my having some very long
function calls.

"Long function calls" aren't necessarily something pgindent would
change. Have you tried intentionally misindenting some lines?

regards, tom lane

#3James Coleman
jtc331@gmail.com
In reply to: Tom Lane (#2)
Re: pgindent (probably my missing something obvious)

On Mon, Jul 3, 2023 at 9:20 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

James Coleman <jtc331@gmail.com> writes:

This is the first time I've run pgindent on my current machine, and it
doesn't seem to be making any modifications to source files. For
example this command:

./src/tools/pgindent/pgindent src/backend/optimizer/path/allpaths.c

leaves the allpaths.c file unchanged despite my having some very long
function calls.

"Long function calls" aren't necessarily something pgindent would
change. Have you tried intentionally misindenting some lines?

regards, tom lane

Hmm, yeah, that works.

My heuristic for what pgindent changes must be wrong. The long
function calls (and 'if' conditions) seem obviously out of place to my
eyes with the surrounding code. Does that mean the surrounding code
was just hand-prettified?

Thanks,
James Coleman

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: James Coleman (#3)
Re: pgindent (probably my missing something obvious)

James Coleman <jtc331@gmail.com> writes:

My heuristic for what pgindent changes must be wrong. The long
function calls (and 'if' conditions) seem obviously out of place to my
eyes with the surrounding code. Does that mean the surrounding code
was just hand-prettified?

pgindent won't usually editorialize on line breaks within C
statements. (It *will* re-flow comment text, if the comment block
isn't at the left margin.) It seems to feel free to play with
horizontal whitespace, but not to add or remove newlines within a
statement. I do know that it will move curly braces around to meet
formatting rules, but I've not seen it do similar changes within a
function call or if-condition. So it's up to you to break the lines
in a reasonable way.

regards, tom lane