summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-01-07 00:05:27 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-01-07 00:05:27 -0500
commitc6b40fb5911b54ace96167fe5fc1bce4fe3695bc (patch)
treee60d270458a9fdb3e8ca951214e1b3a8ae129c91 /src
parent51de495ae4c1b9da13cce24dc15ac844b24f657e (diff)
downloadSMAPI-c6b40fb5911b54ace96167fe5fc1bce4fe3695bc.tar.gz
SMAPI-c6b40fb5911b54ace96167fe5fc1bce4fe3695bc.tar.bz2
SMAPI-c6b40fb5911b54ace96167fe5fc1bce4fe3695bc.zip
add more helpful `help` command output
Diffstat (limited to 'src')
-rw-r--r--src/SMAPI.Web/Startup.cs1
-rw-r--r--src/SMAPI/Framework/Commands/HelpCommand.cs18
2 files changed, 16 insertions, 3 deletions
diff --git a/src/SMAPI.Web/Startup.cs b/src/SMAPI.Web/Startup.cs
index 586b0c3c..bd1f8c9b 100644
--- a/src/SMAPI.Web/Startup.cs
+++ b/src/SMAPI.Web/Startup.cs
@@ -210,6 +210,7 @@ namespace StardewModdingAPI.Web
[@"^/community\.?$"] = "https://stardewvalleywiki.com/Modding:Community",
[@"^/compat\.?$"] = "https://smapi.io/mods",
[@"^/docs\.?$"] = "https://stardewvalleywiki.com/Modding:Index",
+ [@"^/help\.?$"] = "https://stardewvalleywiki.com/Modding:Help",
[@"^/install\.?$"] = "https://stardewvalleywiki.com/Modding:Player_Guide/Getting_Started#Install_SMAPI",
[@"^/troubleshoot(.*)$"] = "https://stardewvalleywiki.com/Modding:Player_Guide/Troubleshooting$1",
[@"^/xnb\.?$"] = "https://stardewvalleywiki.com/Modding:Using_XNB_mods"
diff --git a/src/SMAPI/Framework/Commands/HelpCommand.cs b/src/SMAPI/Framework/Commands/HelpCommand.cs
index b8730a00..baf3116e 100644
--- a/src/SMAPI/Framework/Commands/HelpCommand.cs
+++ b/src/SMAPI/Framework/Commands/HelpCommand.cs
@@ -41,13 +41,26 @@ namespace StardewModdingAPI.Framework.Commands
{
Command result = this.CommandManager.Get(args[0]);
if (result == null)
- monitor.Log("There's no command with that name.", LogLevel.Error);
+ monitor.Log("There's no command with that name. Type 'help' by itself for more info.", LogLevel.Error);
else
monitor.Log($"{result.Name}: {result.Documentation}{(result.Mod != null ? $"\n(Added by {result.Mod.DisplayName}.)" : "")}", LogLevel.Info);
}
else
{
- string message = "The following commands are registered:\n";
+ string message =
+ "\n\n"
+ + "Need help with a SMAPI or mod issue?\n"
+ + "------------------------------------\n"
+ + "See https://smapi.io/help for the best places to ask.\n\n\n"
+ + "How commands work\n"
+ + "-----------------\n"
+ + "Just enter a command directly to run it, just like you did for this help command. Commands may take optional arguments\n"
+ + "which change what they do; for example, type 'help help' to see help about the help command. When playing in split-screen\n"
+ + "mode, you can add screen=X to send the command to a specific screen instance.\n\n\n"
+ + "Valid commands\n"
+ + "--------------\n"
+ + "The following commands are registered. For more info about a command, type 'help command_name'.\n\n";
+
IGrouping<string, string>[] groups = (from command in this.CommandManager.GetAll() orderby command.Mod?.DisplayName, command.Name group command.Name by command.Mod?.DisplayName).ToArray();
foreach (var group in groups)
{
@@ -55,7 +68,6 @@ namespace StardewModdingAPI.Framework.Commands
string[] commandNames = group.ToArray();
message += $"{modName}:\n {string.Join("\n ", commandNames)}\n\n";
}
- message += "For more information about a command, type 'help command_name'.";
monitor.Log(message, LogLevel.Info);
}