pub(crate) mod gh;
pub(crate) mod glab;
pub(crate) fn dispatch(cmd: &str, tokens: &[crate::parse::Token]) -> Option<crate::verdict::Verdict> {
None
.or_else(|| gh::dispatch(cmd, tokens))
.or_else(|| glab::dispatch(cmd, tokens))
}
pub fn command_docs() -> Vec<crate::docs::CommandDoc> {
let mut docs = Vec::new();
docs.extend(gh::command_docs());
docs.extend(glab::command_docs());
docs
}
#[cfg(test)]
pub(super) fn full_registry() -> Vec<&'static super::CommandEntry> {
let mut v = Vec::new();
v.extend(gh::REGISTRY);
v.extend(glab::REGISTRY);
v
}