clap_noun_verb/cli/
mod.rs1pub mod builder;
12pub mod registry;
13pub mod router;
14pub mod validator;
15pub(crate) mod value_parser;
16
17pub mod discovery;
19pub mod examples;
20pub mod help;
21pub mod interactive;
22
23pub use builder::CliBuilder;
24pub use registry::CommandRegistry;
25pub use router::CommandRouter;
26pub use validator::ArgValidator;
27
28pub use discovery::{CommandDiscovery, SearchResult};
30pub use examples::{Example, ExamplesRegistry};
31pub use help::{CommandCategory, CommandInfo, HelpSystem};
32pub use interactive::{InteractiveHelp, InteractiveOutput};
33
34pub fn run() -> crate::error::Result<()> {
41 let registry = registry::CommandRegistry::get();
42 let registry = registry.lock().map_err(|e| {
43 crate::error::NounVerbError::execution_error(format!("Failed to lock registry: {}", e))
44 })?;
45 let args: Vec<String> = std::env::args().collect();
46 registry.run(args)
47}