You can clone with
All operators should have whitespace around them.
a | b # good
a|b # bad
Cool. I like it. Stay tuned.
Just binary operators or unary word operators. Unary symbols, in contrast, should not have space between them and their operand.
A first pass at linting operator spacing.
Give this a whirl. It turns up a few cases of CoffeeScript's source.
It's a bit hackey though. It crudely ignores + tokens inside of interpolations and extended regexes (though it sort of has to guess at what these are). To get it 100% right, I think the CoffeeScript lexer would have to be tweaked to mark the interpolation + tokens it inserts as generated, then I could easily ignore them.
@clutchski: I bet we'd happily accept a pull request that marks those tokens as generated.