2024-09-13 16:02:30 +09:00
|
|
|
namespace commands {
|
|
|
|
|
CommandResult parse_command(string input);
|
|
|
|
|
};
|
|
|
|
|
[Enum]
|
|
|
|
|
interface CommandResult {
|
|
|
|
|
Ok(ParsedCommand command);
|
|
|
|
|
Err(string error);
|
|
|
|
|
};
|
2025-01-05 13:00:06 +09:00
|
|
|
[Enum]
|
|
|
|
|
interface ParameterKind {
|
|
|
|
|
MemberRef();
|
|
|
|
|
SystemRef();
|
|
|
|
|
MemberPrivacyTarget();
|
|
|
|
|
PrivacyLevel();
|
|
|
|
|
OpaqueString();
|
|
|
|
|
};
|
|
|
|
|
dictionary Parameter {
|
|
|
|
|
string raw;
|
|
|
|
|
ParameterKind kind;
|
|
|
|
|
};
|
2024-09-13 16:02:30 +09:00
|
|
|
dictionary ParsedCommand {
|
|
|
|
|
string command_ref;
|
|
|
|
|
sequence<string> args;
|
2025-01-05 13:00:06 +09:00
|
|
|
record<string, Parameter> params;
|
2024-09-13 16:02:30 +09:00
|
|
|
record<string, string?> flags;
|
|
|
|
|
};
|