public static ModuleHelpData FromModuleInfo(ModuleInfo module) { var moduleName = module.Name; var suffixPosition = moduleName.IndexOf("Module", StringComparison.Ordinal); if (suffixPosition > -1) { moduleName = module.Name.Substring(0, suffixPosition).Humanize(); } var ret = new ModuleHelpData { Name = moduleName, Summary = string.IsNullOrWhiteSpace(module.Summary) ? "No Summary" : module.Summary }; foreach (var command in module.Commands) { if (command.Preconditions.Any(precon => precon is RequireOwnerAttribute) || command.Attributes.Any(attr => attr is HiddenFromHelpAttribute)) { continue; } ret.Commands.AddRange(CommandHelpData.FromCommandInfo(command)); } return(ret); }
public static ModuleHelpData FromModuleInfo(ModuleInfo module) { var moduleName = module.Name; var suffixPosition = moduleName.IndexOf("Module", StringComparison.Ordinal); if (suffixPosition > -1) { moduleName = module.Name.Substring(0, suffixPosition).Humanize(); } moduleName = moduleName.ApplyCase(LetterCasing.Title); var ret = new ModuleHelpData { Name = moduleName, Summary = string.IsNullOrWhiteSpace(module.Summary) ? "No Summary" : module.Summary, Commands = module.Commands .Where(x => !ShouldBeHidden(x)) .Select(x => CommandHelpData.FromCommandInfo(x)) .ToArray(), }; return(ret); bool ShouldBeHidden(CommandInfo command) => command.Preconditions.Any(x => x is RequireOwnerAttribute) || command.Attributes.Any(x => x is HiddenFromHelpAttribute); }
public static CommandHelpData FromCommandInfo(CommandInfo command) { var ret = new CommandHelpData() { Name = command.Name, Summary = command.Summary, Aliases = command.Aliases, Parameters = command.Parameters .Select(x => ParameterHelpData.FromParameterInfo(x)) .ToArray(), }; return(ret); }
public static ModuleHelpData FromModuleInfo(ModuleInfo module) { var ret = new ModuleHelpData { Name = module.Name, Summary = module.Summary }; foreach (var command in module.Commands) { if (command.Preconditions.Any(precon => precon is RequireOwnerAttribute) || command.Attributes.Any(attr => attr is HiddenFromHelpAttribute)) { continue; } ret.Commands.AddRange(CommandHelpData.FromCommandInfo(command)); } return(ret); }
public static IEnumerable <CommandHelpData> FromCommandInfo(CommandInfo command) { List <CommandHelpData> ret = new List <CommandHelpData>(); foreach (var alias in command.Aliases) { var data = new CommandHelpData { Alias = alias, Name = command.Name, Summary = command.Summary }; foreach (var param in command.Parameters) { data.Parameters.Add(ParameterHelpData.FromParameterInfo(param)); } ret.Add(data); } return(ret); }