private Object listAliases()

in gshell-commands/gshell-builtin/src/main/java/org/apache/geronimo/gshell/commands/builtin/AliasAction.java [69:104]


    private Object listAliases(final CommandContext context) throws Exception {
        assert context != null;
        IO io = context.getIo();

        log.debug("Listing defined aliases");

        Collection<String> names = aliasRegistry.getAliasNames();

        if (names.isEmpty()) {
            io.info("No aliases have been defined");
        }
        else {
            // Determine the maximun name length
            int maxNameLen = 0;
            for (String name : names) {
                if (name.length() > maxNameLen) {
                    maxNameLen = name.length();
                }
            }

            io.out.println("Defined aliases:");
            for (String name : names) {
                String alias = aliasRegistry.getAlias(name);
                String formattedName = String.format("%-" + maxNameLen + "s", name);

                io.out.print("  ");
                io.out.print(AnsiRenderer.encode(formattedName, AnsiCode.BOLD));

                io.out.print("  ");
                io.out.print("Alias to: ");
                io.out.println(alias);
            }
        }

        return Result.SUCCESS;
    }