In general, indentation schemes have fallen into two categories: “Hard” tabs, and “Soft” tabs. I totally agree with the idea behind soft tabs, but I believe that soft tabs are just as bad as hard tabs when it comes to restricting the end-user’s ability to view code using their own preferences.
I’ve been an avid Emacs user up until, well, today, when I decided to give Atom a shot. The only bone I have to pick is that there is no existing SmartTabs analog—when it comes to indentation, you must use either soft or hard tabs.
To me, Smart Tabs makes more sense than Soft Tabs; the idea is simply that you use tabs for indentation and spaces for alignment. Tabs denote changes in the level of indentation, where spaces will align code beyond that. This is better, IMHO, because the user can change their tab size and it doesn’t matter; the code is still beautiful.
I think Atom should probably support Smart Tabs, either through a package or (even better) internally. Smart Tabs, to me, is the only indentation scheme that actually makes any sense. I’d love to assist in clarification of Smart Tabs to anyone who doesn’t understand me, and I’d sure love to live my life inside of Atom, but I do not want to change my coding style.
I’m also totally open to debating about indentation with people.