I have been poking around to try to see what it would take to make the printOut menu item in the browser produce some html that I would like to show people. That is, html that looks good (uses styles reasonably) and does not have all of those ! characters that are intended for fileIn.
What I found was two separate implementations of #fileOutCategory:asHtml:, one in ClassDescription, which is inherited by Class and MetaClass, and one in SystemOrganizer. They are almost, but not quite, the same. It seems to me that SystemOrganizer ought to be delegating this work to ClassDescription, or maybe the other way around.
Before I mess with anything, can anyone enlighten me as to why things are built the way that they are?
Right now, the only difference between fileOut and printOut seems to be that printOut uses an HtmlFileStream, whereas FileOut uses a StandardFileStream; the latter simply ignores all of the html commands. To do more interesting formatting, I was thinking of using the Strategy pattern, where the various chunks that are filed out are formatted in different ways for fileOut and printOut.
Or maybe someone has done this already?
Andrew