Yes, I imagine something along ... PPParser class>>helpOn: aBuilder <help> aBuilder newBook: [ :book | book title: 'PetitParser'; newPage: [ :page | page title: 'Tutorial'; contents: self blogArticle ]; newChapter: [ :chap | chap title: 'Operator API'; methodComments: PPParser selectors in: PPParser ]; newChapter: [ :chap | chap title: 'Parser Classes'; classComments: PPParser withAllSubclasses ] ] This allows me to assemble the help from things that I have already written anyway. It does not introduce new dependencies and is small and concise. Lukas On 5 May 2010 11:24, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Lukas
I agree with you. Now my point was let us learn there is a builder that can use pragma and this is the one we should use. See my mails and the answers of torsten.
What I would love to have is     - HelpSystemBuilder that collect some class comments and tests     based on a given pragma.
Alain? Lukas? Torsten? Other? what could be a nice pragma for a Sunit
testAbsoluteAuthority     "self debug: #testAbsoluteAuthority"
    <test: #URI about: 'absolute uri with authority' tag: #(network )>
    | uri absoluteURIString |     "An absolute URI with authority. An absolute URI starts with a scheme:"     absoluteURIString := 'http://www.pharo-project.org'.     uri := URI fromString: absoluteURIString.     self assert: (uri asString = absoluteURIString).     self assert: (uri isAbsolute).     self assert: (uri authority asString = 'www.pharo-project.org').     self deny: (uri isOpaque).
Then now we could use help system to force us to write better tests.
Stef
I think it is a design flaw that the help system doesn't make use of extensibility in the spirit of the new preference system, the extensible menus, or the metacello configurations. They all don't have external dependencies and load fine into any image.
Being forced to have strong references to the HelpSystem package (with subclasses and class references) makes it impossible to just include some documentation into a package, without introducing a dependency onto the HelpSystem. This doesn't encourage me at all to provide some quick documentation (e.g. for Gofer, PetitParser, RB, OB, ...), because I would need to create separate packages.
For deployment I usually use kernel images, or core images with unnecessary code unloaded (tests, examples, help system, ...). With the current setup I cannot just include some documentation into a core package without being forced to package it separately.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Lukas Renggli www.lukas-renggli.ch