tl;dr: no, I didn’t actually get it working.
Long version: I started working on a modification to the whitespace module that only applies whitespace fixes to edited lines (I think it’s common to experience to edit a file from an outside source, e.g. an open source project, and suddenly ends up with a zillion changes due to whitespace fixes). That worked fairly well but I think I was still tweaking performance (we have several 15-20k+ line files in our repo so keeping the editor snappy is important).
Most of my testing at the time was trailing whitespace, but I started to look at it for mixed indent. Back then I convinced myself I preferred the Vim/Emacs approach of fixing indent as the user typed rather than fix-on-save, which lead to a long sojourn in the Atom core that stalled my project. Now (a year later) I’m not as convinced the indent character(s) in the buffer matter so much – I think the two key goals are the tab key indents code one level and the backspace key should remove one level of indent regardless of tab vs space (and of course it should all look right). So when the discussion came up again recently around the lunch table I proposed translating all tabs to spaces on load (using the user’s indent size preference), letting the user edit in spaces, and then fixing up user-edited lines on save (reverting all non-user-edited lines to their original state).
But I haven’t gotten around to implementing that either – a survey of my company’s developers showed more people are fans of full IDEs than simple(-er) editors (yes, I’m the type to hack my editor to the point it can do most of the IDE stuff, but many of our developers are not), so I’m not sure I’ll find time soon.
Let me know if you have any success, this is the (first?) major roadblock to me adopting Atom. Thanks!