private Object displayAvailableCommands()

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;
    }