private static CommandMetadata findCommandMetadata(GlobalMetadata global, Class<? extends PrideCommand> type) { CommandMetadata result = findCommandMetadata(null, global.getDefaultGroupCommands(), type); result = findCommandMetadata(result, global.getDefaultCommand(), type); for (CommandGroupMetadata group : global.getCommandGroups()) { result = findCommandMetadata(result, group.getCommands(), type); result = findCommandMetadata(result, group.getDefaultCommand(), type); } return result; }
public static GlobalMetadata loadGlobal(String name, String description, CommandMetadata defaultCommand, Iterable<CommandMetadata> defaultGroupCommands, Iterable<CommandGroupMetadata> groups) { ImmutableList.Builder<OptionMetadata> globalOptionsBuilder = ImmutableList.builder(); if (defaultCommand != null) { globalOptionsBuilder.addAll(defaultCommand.getGlobalOptions()); } for (CommandMetadata command : defaultGroupCommands) { globalOptionsBuilder.addAll(command.getGlobalOptions()); } for (CommandGroupMetadata group : groups) { for (CommandMetadata command : group.getCommands()) { globalOptionsBuilder.addAll(command.getGlobalOptions()); } } List<OptionMetadata> globalOptions = mergeOptionSet(globalOptionsBuilder.build()); return new GlobalMetadata(name, description, globalOptions, defaultCommand, defaultGroupCommands, groups); }
if (name.equals(global.getName())) { new GlobalUsage().usage(global, out); return; for (CommandMetadata command : global.getDefaultGroupCommands()) { if (name.equals(command.getName())) { new CommandUsage().usage(global.getName(), null, command, out); return; for (CommandGroupMetadata group : global.getCommandGroups()) { if (name.endsWith(group.getName())) { for (CommandMetadata command : group.getCommands()) { if (commandName.equals(command.getName())) { new CommandUsage().usage(global.getName(), group.getName(), command, out); return;
@Override public Iterable<String> suggest() { return concat( transform(metadata.getCommandGroups(), CommandGroupMetadata.nameGetter()), transform(metadata.getDefaultGroupCommands(), CommandMetadata.nameGetter()), concat(transform(metadata.getOptions(), OptionMetadata.optionsGetter())) ); } }
Collection<String> args = Collections2.transform(global.getOptions(), new Function<OptionMetadata, String>() out.newPrinterWithHangingIndent(8) .append("usage:") .append(global.getName()) .appendWords(commandArguments) .append("<command> [<args>]") for (CommandMetadata commandMetadata : global.getDefaultGroupCommands()) { if (!commandMetadata.isHidden()) { commands.put(commandMetadata.getName(), commandMetadata.getDescription()); for (CommandGroupMetadata commandGroupMetadata : global.getCommandGroups()) { commands.put(commandGroupMetadata.getName(), commandGroupMetadata.getDescription()); out.append("The most commonly used ").append(global.getName()).append(" commands are:").newline(); out.newIndentedPrinter(4).appendTable(Iterables.transform(commands.entrySet(), new Function<Entry<String, String>, Iterable<String>>() out.append("See").append("'" + global.getName()).append("help <command>' for more information on a specific command.").newline();
state = state.withCommand(metadata.getDefaultCommand());
.append(global.getName()) .append(group.getName()) .append("-") synopsis.append(global.getName()); if (!hideGlobalOptions) { synopsis.appendWords(UsageHelper.toSynopsisUsage(command.getGlobalOptions())); synopsis.append(global.getName()); if (!hideGlobalOptions) { synopsis.appendWords(UsageHelper.toSynopsisUsage(command.getGlobalOptions())); options.addAll(group.getOptions()); if (global != null && !hideGlobalOptions) { options.addAll(global.getOptions());
.append(global.getName()) .append("-") .append(global.getDescription()) .newline() .newline(); .append(global.getName()) .appendWords(UsageHelper.toSynopsisUsage(global.getOptions())) .append("<command> [<args>]") .newline() List<OptionMetadata> options = newArrayList(global.getOptions()); if (options.size() > 0) { if (optionComparator != null) { UsagePrinter commandPrinter = out.newIndentedPrinter(8); for (CommandMetadata command : global.getDefaultGroupCommands()) { printCommandDescription(commandPrinter, null, command); for (CommandGroupMetadata group : global.getCommandGroups()) { for (CommandMetadata command : group.getCommands()) { printCommandDescription(commandPrinter, group, command);
state = parseOptions(tokens, state, metadata.getOptions()); CommandGroupMetadata group = find(metadata.getCommandGroups(), compose(equalTo(tokens.peek()), CommandGroupMetadata.nameGetter()), null); if (group != null) { tokens.next(); List<CommandMetadata> expectedCommands = metadata.getDefaultGroupCommands(); if (state.getGroup() != null) { expectedCommands = state.getGroup().getCommands();