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.

Reply via email to