If you haven't run the Refactoring Browser recently, you really should try this version! It fixes all of the things that used to bug me about the RB: missing menu items, odd browsers, no RB support for the Hierarchy browser, no integration with packages, no Rewrite Tool, etc.. Check out the various new menus; also look at the window menus (for instance, you can do a "browse implementors" and then run the rewrite or finder tool on those messages).
I have put another Monticello diff file (against the current SqueakMap version of Refactory, which is Refactory-md.3.8.12) on my site at: http://bike-nomad.com/squeak/Refactory-nk.3832.mcd You will have to load Monticello and Refactory-md.3.8.12 first.
Or, you can load the whole package at once (Monticello is still recommended) from: http://bike-nomad.com/squeak/Refactory-nk.3832.mcz
Since 3830: Fixed problem with switching from comment view. Changed to environment browsers from messagelists almost everywhere. Changed LintDialog to allow passing an environment; added the ability to run Lint from various browsers (i.e. you can run lint on all the senders of a particular message, etc.) Added more package support. Use Env browsers for implementors/senders from code pane keystrokes
Since 3827:
Made instVar/classVar searches look in subclasses as well. Added annotation pane and optional buttons pane to Environment browsers. Added preference for HierarchyBrowser to be a subclass of RefactoringBrowser Removed useless buttons from VariableEnvironmentBrowser Fixed coloring of Environment browsers to be the same as the browser color
Since 3823:
added support for opening finder/rewrite tool on environment browsers added hierarchy find/rewrite. made environment browsers use RB menus Allowed changing class selection from Finder and Rewrite tools. Added to flaps registry. Refactored LintDialog to re-use category/class selector as component made ChooserMorph work right for multiple selections improved help text made lint results always display proper selection made environment browsers display class definition if no method selections added support for defining and displaying rationale for Lint rules.
The 3823 announcement:
The big news here is the addition of the RewriteTool, which is like a pressure washer for code janitors.
It is like the FinderTool in that it lets you search for parse tree (rather than text) patterns in your code. But it also lets you specify a replacement pattern. When you say "Replace" it puts up a FileContentsBrowser from which you can view the proposed changes and load selected methods, classes, or the entire set of changes.
I have also added the beginnings of a color formatter for the RB, but haven't finished all the colors yet. You can now use the RB formatter for pretty-printing tasks throughout the system. I have also improved its printing of various things, including array literals.
Changes from Refactory-md.3.8.12 to Refactory-nk.3823
- added RewriteTool (like FinderTool but you can do search/replace with it) - added lint rule for override of superclass method without calling it. - added lint rule for sending of 'new initialize' and friends - added lint rule for sending a deprecated method to a known global - improved pretty printing (especially for literal arrays, etc.) - added preference for using RB to pretty-print globally - added RB-based color pretty-printing for use in browsers - deprecation fixes: fixed 'super new initialize', 'self beep', etc. - made sure that metaclasses were searched too by lint tool! - misc. bug fixes - changed lint rule for missing super sends to look for #subclassResponsibility in superclass - fixed opening of editor in some cases - sorted class names in RB environment browsers
I am presenting it this way so people can get a chance to use it for a bit.
Enjoy,
squeak-dev@lists.squeakfoundation.org