In-Image Documentation Dashboard

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

In-Image Documentation Dashboard

Sean P. DeNigris
Administrator
We have so many cool mechanisms for in-image and external documentation now that I sometimes get confused!

I considered a rant, but figured it'd be just as easy to write a plugin for Nautilus (thanks to Ben) ;) It gives you two buttons:
- "Browse Tests", which becomes enabled when there are test methods in the image that reference the selected class
- "Browse Help", which becomes enabled if there is a CustomHelp subclass in a category similar to the selected category (i.e. the package names match up to the first $-)

Limitations: I hacked this together to scratch an itch, so I'm sure there are many. For instance:
- it does not look in test helper methods, only #testSelectors.
- I think I remember HelpSystem also allowing pragmas, so the logic may have to be extended

It's a nice visual reminder that documentation may be available, with easily accessible links thereto.

Gofer new
        repository: 'http://ss3.gemstone.com/ss/PharoSpd';
    package: 'ConfigurationOfPharoSpd';
    load.

(Smalltalk at: #ConfigurationOfPharoSpd) project bleedingEdge load: #('NautilusSpd').

Then enable DocumentationPlugin e.g. "Nautilus pluginClasses addLast: { DocumentationPlugin. #bottom }"

p.s. if there is not a better way to programmatically enable a plugin, we should add that ;)
p.p.s. if you load the 'IDE' group instead of 'NautilusSpd', you will get some unrelated but useful enhancements like Nautilus context menu items for adding boilerplate for new Spec UI's and adding custom attributes to Metacello configurations. They handle a few common cases in my personal development - use at your own risk...
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: In-Image Documentation Dashboard

Sean P. DeNigris
Administrator
Sean P. DeNigris wrote
DocumentationPlugin
Should work in Pharo 2.0 and 3.0.
Cheers,
Sean