public static List <CommandHelp> CreateCommandHelp(GroupHelp help) { var commands = GetEnumAttributes <KeyboardCommands>() .Where(z => z.Item2.OfType <OfGroupAttribute>().FirstOr(x => x.Group == help.Group, false)) .Select(z => new CommandHelp { KeySymbols = KeyMap.GetKeySymbols(z.Item1), Command = z.Item1, Text = z.Item2.OfType <CmdHelpAttribute>().Where(x => x.ValidFor(help.ModeHelp.Mode)).FirstOr(x => x.HelpMessage) }) .ToList(); return(commands); }