use clap::CommandFactory;
pub mod ct_await;
pub mod ct_check;
pub mod ct_each;
pub mod ct_edit;
pub mod ct_outline;
pub mod ct_patch;
pub mod ct_rules;
pub mod ct_search;
pub mod ct_test;
pub mod ct_tree;
pub mod ct_view;
pub fn commands() -> Vec<(&'static str, clap::Command)> {
vec![
("ct-await", ct_await::Cli::command()),
("ct-check", ct_check::Cli::command()),
("ct-each", ct_each::Cli::command()),
("ct-edit", ct_edit::Cli::command()),
("ct-outline", ct_outline::Cli::command()),
("ct-patch", ct_patch::Cli::command()),
("ct-rules", ct_rules::Cli::command()),
("ct-search", ct_search::Cli::command()),
("ct-test", ct_test::Cli::command()),
("ct-tree", ct_tree::Cli::command()),
("ct-view", ct_view::Cli::command()),
]
}
pub fn flags() -> Vec<(&'static str, Vec<(String, &'static str)>)> {
commands()
.into_iter()
.map(|(name, command)| (name, crate::deps::flag_kinds(command)))
.collect()
}