anchor.diff:    }
   }
   
  +// TODO(adam): enum
  +bool clientMode = false;
  +bool serverMode = false;
  +
   void main(args) {
  +  Logger.root.onRecord.listen((LogRecord record) {
  +    print(record.message);
  +  });
  +
     // TODO(adam): move arg parsing and command invoking to `unscripted`
     ArgParser parser = _createArgsParser();
     ArgResults results = parser.parse(args);
  -  if (results['help'] || results.rest.length == 0) {
  -    _printUsage(parser);
  -    return;
  -  }
  +
   
     String dartSdk;
     if (results['sdk'] == null) {
  
positive.code:     return;
    }
  
    if (results['daemon']) {
      print("Running in daemon mode");
      String sleepInterval = results['sleepinterval'];
      String maxClients = results['maxclients'];
      _initDaemon(sleepInterval, maxClients);
      return;
    }
  
    return;
  }
  
  void _initClient(String dartSdk, String packageName, String version) {
  
negative.code:     // and publish them to pub.dartlang.org.
      parser.addFlag(
          'daemon',
          help: 'run in daemon mode',
          callback: (mode) {
            serverMode = mode;
            if (clientMode && serverMode) {
              print("You must choose `daemon` or `client` modes to run in. Cannot choose both.");
              _printUsage(parser);
            }
          });
  
      parser.addFlag(
          'client',
          help: 'run in client mode',
          callback: (mode) {
            clientMode = mode;
            if (clientMode && serverMode) {
              print("You must choose `daemon` or `client` modes to run in. Cannot choose both.");
              _printUsage(parser);
            }
          });
  
      //
      // Daemon options
      //
      parser.addOption(
          'sleep-interval',
          help: 'Time requred to sleep in seconds before polling for new packages on pub.dartlang.org',
          defaultsTo: null);
      parser.addOption(
          'max-clients',
          help: 'Max number of possible client instances to fire up.',
          defaultsTo: null);
  
      //
      // Client options
      //
      parser.addOption(
          'package',
          help: 'Package to generate documentation for.', defaultsTo: null);
      parser.addOption( // TODO(adam): support possible version constraints for package generation.
          'version',
          help: 'Version of package to generate.', defaultsTo: null);
  
      return parser;
  }
  
  