anchor.diff:  import 'package:bot/bot_io.dart';
   import 'package:logging/logging.dart';
   import 'package:meta/meta.dart';
  +import 'package:pathos/path.dart' as path;
   
   part 'src/hop/console_context.dart';
   part 'src/hop/help.dart';
  
positive.code: typedef Future<bool> TaskDefinition(TaskContext ctx);
  
  /**
   * [runHopCore] calls [io.exit] which terminates the application.
   *
   * [runHopCore] should be the last method you call in an application.
   */
  void runHopCore() {
    _sharedConfig.freeze();
    Runner.runCore(_sharedConfig);
  }
  
negative.code: 
  void addAsyncTask(String name, TaskDefinition execFuture) {
    _sharedConfig.addAsync(name, execFuture);
  }
  
  void _paranoidHopCheck() {
    var runningScript = new Options().script;
    runningScript = path.absolute(runningScript);
    runningScript = path.normalize(runningScript);
  
    final expectedPath = path.join(path.current, 'tool', 'hop_runner.dart');
    require(runningScript == expectedPath,
        'Running script should be at "$expectedPath" but was at "$runningScript"');
  }
  
  const String _colorFlag = 'color';
  