anchor.diff:  
   /// A Dart command-line application, installed via `pub global activate`.
   abstract class PubApp {
  -  final String appName;
  -
  -  PubApp._(this.appName);
  -
  -  /// Create a new reference to a pub application; [appName] is the same as the
  +  final String packageName;
  +
  +  PubApp._(this.packageName);
  +
  +  /// Create a new reference to a pub application; [packageName] is the same as the
     /// package name.
  -  factory PubApp.global(String appName) => new _PubGlobalApp(appName);
  -
  -  /// Create a new reference to a pub application; [appName] is the same as the
  +  factory PubApp.global(String packageName) => new _PubGlobalApp(packageName);
  +
  +  /// Create a new reference to a pub application; [packageName] is the same as the
     /// package name.
  -  factory PubApp.local(String appName) => new _PubLocalApp(appName);
  +  factory PubApp.local(String packageName) => new _PubLocalApp(packageName);
   
     bool get isGlobal;
   
  
positive.code:   /// `grinder:init`.
    String run(List<String> arguments, {String script, String workingDirectory});
  
    String toString() => appName;
  }
  
  class _PubGlobalApp extends PubApp {
    bool _activated = false;
  
    _PubGlobalApp(String appName) : super._(appName);
  
    bool get isGlobal => true;
  
    bool get isActivated {
      if (_activated) return true;
      _activated = Pub.global.isActivated(appName);
      return _activated;
    }
  
    void activate() {
      if (!_activated) {
        Pub.global.activate(appName);
        _activated = true;
      }
    }
  
    void update() {
      Pub.global.activate(appName);
      _activated = true;
    }
  
    String run(List<String> arguments, {String script, String workingDirectory}) {
      if (!_activated && !isActivated) activate();
      return Pub.global.run(script == null ? appName : '${appName}:${script}',
          arguments: arguments,
          workingDirectory: workingDirectory);
    }
  
negative.code:   }
  
    /// Run the given installed Dart application.
    String run(String package,
        {List<String> arguments, String workingDirectory, String script}) {
      var scriptArg = script == null ? package : '$package:$script';
      List args = ['global', 'run', scriptArg];
      if (arguments != null) args.addAll(arguments);
      return runProcess(_sdkBin('pub'), arguments: args,
          workingDirectory: workingDirectory);
  