Files
RobustToolbox/Robust.Shared/Toolshed/ToolshedCommand.Help.cs
Moony 0e1328675c Toolshed (#4197)
* Saving work

* Move shit to engine

* lord

* merg

* awa

* bql is kill

* forgot the fucking bike rack

* bql is kill for real

* pjb will kill me

* aughfhbdj

* yo ho here we go on my way to the MINES

* a

* adgddf

* gdsgvfvxshngfgh

* b

* hfsjhghj

* hbfdjjh

* tf you mean i have to document it

* follow C# standards

* Assorted cleanup and documentation pass, minor bugfix in ValueRefParser.

* Start porting old commands, remove that pesky prefix in favor of integrating with the shell.

* Fix valueref up a bit, improve autocomplete for it.

* e

* Toolshed type system adventure.

* a log

* a

* a e i o u

* awa

* fix tests

* Arithmetic commands.

* a

* parse improvements

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-08-02 16:06:16 -05:00

46 lines
1.2 KiB
C#

using System.Linq;
using Robust.Shared.Localization;
namespace Robust.Shared.Toolshed;
public abstract partial class ToolshedCommand
{
/// <summary>
/// Returns a command's localized description.
/// </summary>
public string Description(string? subCommand)
=> Loc.GetString(UnlocalizedDescription(subCommand));
/// <summary>
/// Returns the locale string for a command's description.
/// </summary>
public string UnlocalizedDescription(string? subCommand)
{
if (Name.All(char.IsAsciiLetterOrDigit))
{
return $"command-description-{Name}" + (subCommand is not null ? $"-{subCommand}" : "");
}
else
{
return $"command-description-{GetType().PrettyName()}" + (subCommand is not null ? $"-{subCommand}" : "");
}
}
/// <summary>
/// Returns a command's help string.
/// </summary>
public string GetHelp(string? subCommand)
{
if (subCommand is null)
return $"{Name}: {Description(null)}";
else
return $"{Name}:{subCommand}: {Description(subCommand)}";
}
/// <inheritdoc/>
public override string ToString()
{
return GetHelp(null);
}
}