Add editorconfig support for Postgres spec files

Started by Tristan Partin5 months ago5 messageshackers
Beta feature

Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.

appliessuccessCI history

You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:

docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t139356
psql -h localhost -U postgres

Built from patchset v5 (message #5), September 20, 2026 at 12:54 AM.

Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:

git clone --branch t139356_5 https://github.com/hackorum-dev/postgres.git

In a checkout you already have, add the fork once:

git remote add hackorum https://github.com/hackorum-dev/postgres.git

then, for this patchset and every later one:

git fetch hackorum t139356_5 && git checkout t139356_5

Patchset v5 (message #5) is on t139356_5

Jump to latest
#1Tristan Partin
tristan@partin.io

I was reading through some spec files today, and my editor was resolving
the tab width as 8. I looked at some of the spec files, and we seem to
have standardized on a tab width of 4 with tabs expanded into spaces.
I decided to encode this in the .editorconfig file for convenience.

PS: I am working on a tree-sitter grammar for these files. I'll probably
try to set up a TextMate grammar was well for those who use editors that
support that. I'll share that later.

--
Tristan Partin
PostgreSQL Contributors Team
AWS (https://aws.amazon.com)

Attachments:

spec.patchtext/x-patch; charset=utf-8; name=spec.patchDownload+7-0
#2Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Tristan Partin (#1)
Re: Add editorconfig support for Postgres spec files

On 17/04/2026 00:49, Tristan Partin wrote:

I was reading through some spec files today, and my editor was resolving
the tab width as 8. I looked at some of the spec files, and we seem to
have standardized on a tab width of 4 with tabs expanded into spaces.

There's a mix of styles in different files. To pick a few random examples:

src/test/isolation/specs/nowait.spec: indented with 2 spaces. But there
are some tabs too.

src/test/modules/injection_points/specs/repack_toast.spec: Tabs

src/test/modules/brin/specs/summarization-and-inprogress-insertion.spec:
Mix of tabs and spaces, width 4.

Yeah, it would be nice to standardize on something...

- Heikki

#3Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Heikki Linnakangas (#2)
Re: Add editorconfig support for Postgres spec files

On Fri, 17 Apr 2026 at 10:18, Heikki Linnakangas <hlinnaka@iki.fi> wrote:

Yeah, it would be nice to standardize on something...

Agreed.

Whatever that standardized indenting style then is, it should then be
encoded in .gitattributes. Our editorconfig file is generated based on
that using src/tools/generate_editorconfig.py.

I think in any case that script should be update to add some "DO NOT
MODIFY MANUALLY! GENERATED USING src/tools/generate_editorconfig.py "
header to the resulting editorconfig file. Because I agree that's not
clear at the moment.

#4Michael Paquier
michael@paquier.xyz
In reply to: Heikki Linnakangas (#2)
Re: Add editorconfig support for Postgres spec files

On Fri, Apr 17, 2026 at 11:18:22AM +0300, Heikki Linnakangas wrote:

src/test/isolation/specs/nowait.spec: indented with 2 spaces. But there are
some tabs too.

src/test/modules/injection_points/specs/repack_toast.spec: Tabs

src/test/modules/brin/specs/summarization-and-inprogress-insertion.spec: Mix
of tabs and spaces, width 4.

Yeah, it would be nice to standardize on something...

In terms of system_views.sql, the SQL input files in the regression
test suites and the sample files, we are using whitespaces, not tabs.
I cannot say much about the width part and what would be a good
number, but at least it seems to me that the tabs should go. We don't
really have a strict width rule for the SQL files in the regression
tests, and I don't think we need one. It would be nice to keep the
same flexibility for the isolation spec files.
--
Michael

#5Andreas Karlsson
andreas.karlsson@percona.com
In reply to: Jelte Fennema-Nio (#3)
Re: Add editorconfig support for Postgres spec files

On 4/17/26 22:10, Jelte Fennema-Nio wrote:

I think in any case that script should be update to add some "DO NOT
MODIFY MANUALLY! GENERATED USING src/tools/generate_editorconfig.py "
header to the resulting editorconfig file. Because I agree that's not
clear at the moment.

You mean like this? I think the comment should point them towards the
script which generated it.

--
Andreas Karlsson
Percona

Attachments:

t139356_5
0001-Add-comment-clarifying-.editorconfig-is-generated.patchtext/x-patch; charset=UTF-8; name=0001-Add-comment-clarifying-.editorconfig-is-generated.patchDownload+5-2