anchor.diff:    }
   
     @override
  -  Future<int> run() async {
  +  Future<int> runInProject() async {
       if ((argResults['mojo-path'] == null && argResults['devtools-path'] == null) || (argResults['mojo-path'] != null && argResults['devtools-path'] != null)) {
         _logging.severe('Must specify either --mojo-path or --devtools-path.');
         return 1;
  
positive.code:     } else {
        final appPath = _makePathAbsolute(argResults['app']);
        String viewerPath;
        BuildConfig config = _getCurrentHostConfig();
        if (config.type == BuildType.prebuilt) {
          Artifact artifact = ArtifactStore.getArtifact(type: ArtifactType.viewer, targetPlatform: TargetPlatform.linux);
          viewerPath = _makePathAbsolute(await ArtifactStore.getPath(artifact));
  
negative.code:     argParser.addOption('mojo-path', help: 'Path to directory containing mojo_shell and services.');
      argParser.addOption('devtools-path', help: 'Path to mojo devtools\' mojo_run command.');
    }
  
    bool get requiresProjectRoot => false;
  
    // TODO(abarth): Why not use path.absolute?
    String _makePathAbsolute(String relativePath) {
  