Hi Jacob,

On Thu, Nov 2, 2017 at 12:30 PM, Jakob Reschke <forums.jakob@resfarm.de> wrote:
Am 02.11.2017 7:11 nachm. schrieb "Eliot Miranda" <eliot.miranda@gmail.com>:

On Wed, Nov 1, 2017 at 3:15 AM, Marcel Taeumel <marcel.taeumel@hpi.de> wrote:

Next step would be to build a preview tool that supports add/remove steps of a refactoring. For example, a "rename message" might tackle too much methods. That is, there is no scoping at the moment.

OK.  We likely definitely want to scope by package(s), right?

Unless you wanted to say "packages, not classes or categories" I do not think so. Mostly because projects/software is often divided into -Core and -Tests packages. Or think of -Examples, -Plugins, -Extensions... So I fear explicit input of the scope (a set of packages) will be required.

I think offering two scopes is adequate:
a) the entire system
b) classes and extension methods whose package name matches either a prefix or a pattern

Using package dependencies (like in ENVY) would be nice, but they are unmaintained in Monticello (often only supplied with Metacello).

Oh, and my Environments bell is ringing again... ;-)

Remember that one can always generate more narrowly scoped refactoring by
1. performing the refactoring on some larger scope (e.g. the entire system)
2. quitting the system
3. using the changes crash recovery tool to select the desired refactorings
or by using method versions to revert any unwanted

So having a simple generally useful scope such as package or package prefix would work for me.

best, Eliot