Merge pull request #1125 from Aireil/add_help

This commit is contained in:
goat 2023-03-01 22:04:11 +01:00 committed by GitHub
commit 55b2c78e52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,7 +38,7 @@ internal class DalamudCommands : IServiceType
commandManager.AddHandler("/xlhelp", new CommandInfo(this.OnHelpCommand)
{
HelpMessage = Loc.Localize("DalamudCmdInfoHelp", "Shows list of commands available."),
HelpMessage = Loc.Localize("DalamudCmdInfoHelp", "Shows list of commands available. If an argument is provided, shows help for that command."),
});
commandManager.AddHandler("/xlmute", new CommandInfo(this.OnBadWordsAddCommand)
@ -158,15 +158,24 @@ internal class DalamudCommands : IServiceType
var chatGui = Service<ChatGui>.Get();
var commandManager = Service<CommandManager>.Get();
var showDebug = arguments.Contains("debug");
chatGui.Print(Loc.Localize("DalamudCmdHelpAvailable", "Available commands:"));
foreach (var cmd in commandManager.Commands)
if (arguments.IsNullOrWhitespace())
{
if (!cmd.Value.ShowInHelp && !showDebug)
continue;
chatGui.Print(Loc.Localize("DalamudCmdHelpAvailable", "Available commands:"));
foreach (var cmd in commandManager.Commands)
{
if (!cmd.Value.ShowInHelp)
continue;
chatGui.Print($"{cmd.Key}: {cmd.Value.HelpMessage}");
chatGui.Print($"{cmd.Key}: {cmd.Value.HelpMessage}");
}
}
else
{
var trimmedArguments = arguments.Trim();
var targetCommandText = trimmedArguments[0] == '/' ? trimmedArguments : $"/{trimmedArguments}";
chatGui.Print(commandManager.Commands.TryGetValue(targetCommandText, out var targetCommand)
? $"{targetCommandText}: {targetCommand.HelpMessage}"
: Loc.Localize("DalamudCmdHelpNotFound", "Command not found."));
}
}