blob: f02841f8d47a4720d8a5ed7e8e4a973713c6eec3 [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library pub.command.help;
import 'dart:async';
import '../command.dart';
import '../exit_codes.dart' as exit_codes;
import '../io.dart';
import '../log.dart' as log;
/// Handles the `help` pub command.
class HelpCommand extends PubCommand {
String get description => "Display help information for Pub.";
String get usage => "pub help [command]";
bool get requiresEntrypoint => false;
bool get takesArguments => true;
Future onRun() {
if (commandOptions.rest.isEmpty) {
printUsage();
} else {
var name = commandOptions.rest[0];
var command = PubCommand.commands[name];
if (command == null) {
log.error('Could not find a command named "$name".');
log.error('Run "pub help" to see available commands.');
return flushThenExit(exit_codes.USAGE);
}
command.printUsage();
}
}
}