Files
RobustToolbox/Robust.Shared/Toolshed/Commands/Misc/CmdCommand.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

33 lines
863 B
C#

using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Robust.Shared.Toolshed.Syntax;
namespace Robust.Shared.Toolshed.Commands.Misc;
[ToolshedCommand]
internal sealed class CmdCommand : ToolshedCommand
{
[CommandImplementation("list")]
public IEnumerable<CommandSpec> List()
=> Toolshed.AllCommands();
[CommandImplementation("moo")]
public string Moo()
=> "Have you mooed today?";
[CommandImplementation("descloc")]
public string GetLogStr([PipedArgument] CommandSpec cmd) => cmd.DescLocStr();
#if CLIENT_SCRIPTING
[CommandImplementation("getshim")]
public MethodInfo GetShim([CommandArgument] Block block)
{
// this is gross sue me
var invocable = block.CommandRun.Commands.Last().Item1.Invocable;
return invocable.GetMethodInfo();
}
#endif
}