Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }