in gshell-commands/gshell-builtin/src/main/java/org/apache/geronimo/gshell/commands/builtin/HelpAction.java [84:122]
private Object displayAvailableCommands(final CommandContext context, final Collection<Command> commands) throws Exception {
assert context != null;
assert commands != null;
log.debug("Listing brief help for commands");
// Determine the maximun name length
int maxNameLen = 0;
for (Command command : commands) {
int len = command.getLocation().getName().length();
maxNameLen = Math.max(len, maxNameLen);
}
//
// TODO: Sort the list
//
IO io = context.getIo();
io.out.println("Available commands:");
for (Command command : commands) {
CommandDocumenter documenter = command.getDocumenter();
String formattedName = String.format("%-" + maxNameLen + "s", command.getLocation().getName());
String desc = documenter.getDescription();
io.out.print(" ");
io.out.print(AnsiRenderer.encode(formattedName, AnsiCode.BOLD));
if (desc != null) {
io.out.print(" ");
io.out.println(desc);
}
else {
io.out.println();
}
}
return Result.SUCCESS;
}