[Pharo-project] [Preview] Help System with new model

Stéphane Ducasse stephane.ducasse at inria.fr
Mon Mar 29 15:26:37 EDT 2010


> Can you consider the idea of a PragmaHelpBuilder as an extension to
> your system?
> I can define a method like this on some class:
> helpForThisPartOfTheSystem
> 	<helpTopic: 'Title goes here'>
> ^'Contents goes here.
> foo
> bar
> wibble'
> And then I can find all of these pragmas:
> | pragmas topics |
> pragmas := ((SystemNavigation default allMethodsSelect: [:each | each
> pragmas notEmpty])
> 				select: [:each | each compiledMethod pragmas allSatisfy: [:eachPragma |
> 					eachPragma keyword = #helpTopic:]])
> 						collect: [:each | each compiledMethod pragmaAt: #helpTopic:].
> topics := pragmas collect: [:each |
> 	HelpTopic
> 		title: (each argumentAt: 1)
> 		contents: (each method valueWithReceiver: nil arguments: #())]
> With a bit more annotation we could build classes just like the simple
> subclass case of CustomHelp where you only have a few methods on the
> class side. i.e just like your metacello example.  Then there is no
> dependency on CustomHelp, and help comments can go anywhere in our
> various package structures for e.g pharo core, dev image.  We would
> just need to decide on a set of annotations.

I would love to do something like  

	<helpTopic: 'Collection' subcategory: 'adding'>

	or something like that


More information about the Pharo-dev mailing list