codewhale_command_contract/
metadata.rs1use crate::handler::CommandHandler;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub struct CommandInfo {
8 pub name: &'static str,
9 pub aliases: &'static [&'static str],
10 pub usage: &'static str,
11 pub description_key: &'static str,
13}
14
15#[derive(Debug, Clone, Copy, PartialEq, Eq)]
17pub enum CommandDiscovery {
18 Primary,
19 Advanced,
20 Compatibility,
21}
22
23pub trait RegisterCommand<R> {
25 fn info() -> &'static CommandInfo;
26 fn handler() -> CommandHandler<R>;
27}