rjk at terraraq.uk
Sun Sep 19 10:26:43 UTC 2021
The current stated style is, in hacking.pod:
Use a roughly BSD indentation style but with four-space indents. This
means no space before the parenthesis around function arguments, open
brace on the same line as if/while/for, and close and open brace on
the same line as else.
However the reality is slightly more complicated: many files use tabs
and spaces interchangeably, apparently with an assumption that the tab
character represents 8 spaces, despite the coding style saying indent is
However some editors that assume that the tab distance and the indent
depth always match, e.g. VS Code. It's a lot harder to figure out the
real layout of the code as a result.
Would it be possible to adopt an indent rule in which either tabs match
the indent depth, or tabs are not used at all, and reformat the source
(My personal preference would be to completely ban the tab character
from source code, enforced with build time tests, since the meaning of
the tab character depends on local configuration and it is, empirically,
unrealistic to assume that everyone will share the same configuration.
But I don't mind what the solution is as long as it works. In the Go
world the policy is "indent = 1 tab" and that works in practice.)
More information about the inn-workers