I was trying to write the most compact source code to HTML/CSS I could come up with:
parser := SHParserST80 new. code := OrderedCollection sourceCodeAt: #sort:. ranges := parser rangesIn: code classOrMetaClass: OrderedCollection workspace: nil environment: nil. dict := Dictionary with: 1->#whitespace. ranges do: [ :range | dict add: range start -> range type; add: range end + 1 -> #whitespace ]. spans := dict associations sorted overlappingPairsCollect: [ :a :b | '<span class="', a value, '">', (code copyFrom: a key to: b key - 1), '</span>' ]. but SHParserST80's use of #- and #'$' might mess things up a little. What do you think about replacing those two symbols with textual versions (like #minus #characterPrefix)? I'm kind of serious - Shout's two non-textual type names seem ugly. Cheers, Edouard.
