Thread: pgindent (probably my missing something obvious)
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
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
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
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