Обсуждение: Add editorconfig support for Postgres spec files
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)
Вложения
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
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.
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