26e59cf859
It would crash in a few cases if you didn't pass in a valid command Also fixed a few unrelated warnings since a warning we learned to ignore was masking the original issue. :( Review URL: https://codereview.chromium.org//11363249 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14927 260f80e4-7a28-3924-810f-c04153c831b5
34 lines
981 B
Dart
34 lines
981 B
Dart
// 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 command_help;
|
|
|
|
import 'dart:io' as io;
|
|
import 'exit_codes.dart' as exit_codes;
|
|
import 'io.dart';
|
|
import 'pub.dart';
|
|
|
|
/** 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;
|
|
|
|
Future onRun() {
|
|
if (commandOptions.rest.isEmpty) {
|
|
printUsage();
|
|
} else {
|
|
var name = commandOptions.rest[0];
|
|
var command = pubCommands[name];
|
|
if (command == null) {
|
|
printError('Could not find a command named "$name".');
|
|
printError('Run "pub help" to see available commands.');
|
|
io.exit(exit_codes.USAGE);
|
|
}
|
|
|
|
command.printUsage();
|
|
}
|
|
}
|
|
}
|