public override void Do(Program instance, IEnumerable<string> input) { if (input.Count() == 0) { foreach (var item in instance.Commands) { Console.WriteLine(item.Key); foreach (var l in item.Value.Description) Console.WriteLine("\t" + l); } } else { string cmd = input.First(); Command c = instance.GetCommand(cmd); if (c == null) Console.WriteLine("Unknown command \"" + cmd + "\""); else { Console.WriteLine(c.Keyword); foreach (var l in c.DetailedHelp) Console.WriteLine("\t" + l); } } }