Improve pgindent exclude handling: ignore empty lines
Hello,
We ran into an issue where pgindent stopped reformatting anything with
our custom exclude file, and after some investigation we found the
empty line accidentally inserted into the exclude file.
Pgindent currently treats empty lines as valid exclusions and creates
an empty regex from them. The empty regex matches any pattern,
resulting in ignoring everything.
As this behavior doesn't seem to be useful in practice, and it is easy
to reproduce accidentally (it works even at the end of the file), I
propose a patch that ignores empty lines in the exclude file.
If somebody really wants to ignore everything, that is still possible
with more explicit patterns like ".*"
Attachments:
0001-Improve-pgindent-exclude-handling-ignore-empty-lines.patchapplication/octet-stream; name=0001-Improve-pgindent-exclude-handling-ignore-empty-lines.patchDownload+1-2
On 2025-02-08 Sa 4:39 AM, Zsolt Parragi wrote:
Hello,
We ran into an issue where pgindent stopped reformatting anything with
our custom exclude file, and after some investigation we found the
empty line accidentally inserted into the exclude file.Pgindent currently treats empty lines as valid exclusions and creates
an empty regex from them. The empty regex matches any pattern,
resulting in ignoring everything.As this behavior doesn't seem to be useful in practice, and it is easy
to reproduce accidentally (it works even at the end of the file), I
propose a patch that ignores empty lines in the exclude file.If somebody really wants to ignore everything, that is still possible
with more explicit patterns like ".*"
It seems reasonable to ignore an empty line. But your proposed commit
message isn't correct w.r.t. whitespace, either relating to current or
proposed behaviour. i.e. comment lines can't have leading whitespace,
and you patch won't ignore lines wconsisting of one or more whitespace
characters. So I'm not quite clear what you want to do.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
Hello
You are right, when I was writing the commit message I was thinking
about trim, but the script only uses chomp.
I edited the commit message to correctly describe the new behavior:
ignoring only the empty line, as that was my main intention with the
patch.
Show quoted text
On Fri, Feb 14, 2025 at 3:24 PM Andrew Dunstan <andrew@dunslane.net> wrote:
On 2025-02-08 Sa 4:39 AM, Zsolt Parragi wrote:
Hello,
We ran into an issue where pgindent stopped reformatting anything with
our custom exclude file, and after some investigation we found the
empty line accidentally inserted into the exclude file.Pgindent currently treats empty lines as valid exclusions and creates
an empty regex from them. The empty regex matches any pattern,
resulting in ignoring everything.As this behavior doesn't seem to be useful in practice, and it is easy
to reproduce accidentally (it works even at the end of the file), I
propose a patch that ignores empty lines in the exclude file.If somebody really wants to ignore everything, that is still possible
with more explicit patterns like ".*"It seems reasonable to ignore an empty line. But your proposed commit
message isn't correct w.r.t. whitespace, either relating to current or
proposed behaviour. i.e. comment lines can't have leading whitespace,
and you patch won't ignore lines wconsisting of one or more whitespace
characters. So I'm not quite clear what you want to do.cheers
andrew
Attachments:
v2-0001-Improve-pgindent-exclude-handling-ignore-empty-lines.patchapplication/octet-stream; name=v2-0001-Improve-pgindent-exclude-handling-ignore-empty-lines.patchDownload+1-2
On 2025-02-18 Tu 3:02 PM, Zsolt Parragi wrote:
Hello
You are right, when I was writing the commit message I was thinking
about trim, but the script only uses chomp.I edited the commit message to correctly describe the new behavior:
ignoring only the empty line, as that was my main intention with the
patch.
pushed, thanks.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com