@@ -0,0 +1,1040 @@
+package fi.helsinki.cs.tmc.cli.command;%0A%0Aimport fi.helsinki.cs.tmc.cli.command.core.AbstractCommand;%0Aimport fi.helsinki.cs.tmc.cli.command.core.Command;%0Aimport fi.helsinki.cs.tmc.cli.command.core.CommandFactory;%0Aimport fi.helsinki.cs.tmc.cli.io.Io;%0A%0Aimport org.apache.commons.cli.CommandLine;%0Aimport org.apache.commons.cli.Options;%0A%0A@Command(name = %22shell-helpper%22, desc = %22Submit exercises%22)%0Apublic class ShellHelpperCommand extends AbstractCommand %7B%0A%0A    @Override%0A    public void getOptions(Options options) %7B%0A        options.addOption(%22c%22, false, %22List of all commands%22);%0A        options.addOption(%22f%22, false, %22Flags of the main program%22);%0A    %7D%0A%0A    @Override%0A    public void run(CommandLine args, Io io) %7B%0A        CommandFactory commands = getApp().getCommandFactory();%0A        if (args.hasOption(%22c%22)) %7B%0A            for (Class%3CCommand%3E commandClass : commands.getCommands()) %7B%0A                Command command = CommandFactory.getCommand(commandClass);%0A                io.println(command.name());%0A            %7D%0A        %7D%0A    %7D%0A    %0A%7D%0A

Add command for autocompletion.