Earlier quoted context omitted.
Yes, this. Which the counter point is either, Don't align things, or use tabs for indentation, and spaces for alignment. And maybe you can enforce no alignment, but that's a hard fight to win. And as far as tabs for indentation and spaces for alignment, I've found no practical way to enforce this via tooling/linting. And a rule without enforcement becomes inconsistent, which is how we get files full of mixtures of sp…
Disallowing /[^\t]\t/ and /^ / is a good start.
To take this example from a sibling post:
if (foo) {
» frobnicate(bar,
» ...........baz);
}
Many people will wind up doing this: if (foo) {
» frobnicate(bar,
» » » ...baz);
}
And then your alignment is all messed up if you have a different tabs setting.Checking for that requires something more like a linter with a detailed understanding of the syntax parse tree.