public void RunCommand(CommandHandler sender, List<string> args) { string cmdname = args.FirstOrDefault(); if (cmdname == null) { foreach (ITradeCommand cmd in sender.Commands) { VersatileIO.WriteComplex("&f {0}: &7{1}".Fmt(cmd.RegistryName, cmd.Description)); } } else { ITradeCommand cmd = sender.FindCommand(cmdname); if (cmd == null) { VersatileIO.WriteLine("No command found by name of " + cmdname, ConsoleColor.Red); return; } bool hasAliases = cmd.Aliases.Length > 1; string aliases = cmd.Aliases.ToReadableString((s) => "'" + s + "'", includeBraces: false); VersatileIO.WriteComplex("&fCommand '{0}': &7{1}".Fmt(cmd.RegistryName, cmd.Description)); VersatileIO.WriteComplex("&f Syntax: &7" + cmd.Syntax); if (hasAliases) { VersatileIO.WriteComplex("&f Aliases: &7" + aliases); } } }