use crate::Glyph;
use std::hash::Hash;
pub trait Category: Copy + Eq + Hash + Glyph + 'static {
fn label(&self) -> &'static str;
fn order(&self) -> u8;
fn cli_prefix(&self) -> &'static str {
""
}
fn cli_name(&self) -> &'static str {
self.label()
}
fn description(&self) -> &'static str {
""
}
}
pub trait Tag: Copy + Eq + Hash + Glyph + 'static {
fn label(&self) -> &'static str;
fn highlight(&self) -> bool {
true
}
}
pub trait Scope: Copy + Eq + Hash + Glyph + 'static {
fn label(&self) -> &'static str;
fn is_default(&self) -> bool {
true
}
}