Star Browser 2
Last published: May 10, 2013 by 'niallr'
The star browser knows about Items (classes, methods, etc.) and Classifications: nested groups of items. It can incorporate existing editors such as the Refactoring Browser, Trippy, CodeCrawler and SOUL. Select an Item/Classification and the default editor for that item is shown. Classifications are extensional (user chooses their contents) or intensional (user defines rule which selects items). Non-first-class items like protocols can also be treated as items (silent generation of classification containing that protocol's methods). One useful extensional classification for a singleton class is the one that has the singleton instance along with the class and its methods. A useful intensional one contains the most recently visited 20 methods.
It is easy to add editors and open them on classifications. Multiple views stay in sync. You can swap between current editor on viewed item being the whole screen and being inside the browser.
Operating on Classifications: you can convert extensional to intensional. You can take intersections, differences, etc., of classifications to e.g. browse senders of #add that also send #initialize. A classification showing all methods in current work containing ‘self halt’ is useful: check it is empty before packaging.
You can add services to the browser. You can show slides and code in the same browser. You can use the visitor pattern with a #doUndefinedObject: method as well as #doClass:, #doImage: and all the other visitor pattern calls for specific types. These calls have access to the subcanvas and browser so can use this information in displaying (e.g. choose display type based on what this classification contains). There is an export facility.
StarBrowser2 has tabs and allows switching between Trippy and class browsers. It reuses the same Refactoring Browser window if available (faster). A vertical toolbar manages the various looks available. You can move the toolbars and etc., to horizontal, vertical etc., to exploit your screen shape to best effect. StarBrowser wraps the tools it displays and you collapse it to see just those tools whenever you wish. It has browsing tools to let you work on things in the Refactoring Browser, in Advance, etc. It also tracks what you are doing, so provides recent methods, popular classes, etc. It is in the Cincom Public Repository (and in Squeak) and has tests.