> You cannot simply rely on local tab width settings if files use a mix of tabs and spaces for indentation and alignment: if you change the tab width then alignment breaks.
Ah I think you've misunderstood what I meant by tabs for indentation and space for alignment (something which you will be controlling with a formatter because that's the entire premise of my original comment). I'm not sure how to make it more clear, so I'll give you an example.
class SomeClass {
[tab]functions some_method(with, arguments) {
[tab][tab]return a_function_call(with,
[tab][tab] lots,
[tab][tab] and,
[tab][tab] lots,
[tab][tab] of,
[tab][tab] arguments);
[tab]}
}
Is that clearer?