From f1ed18e668a830646fe507ee33c4b010a1690342 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Wed, 1 Apr 2026 20:14:56 +0800 Subject: Add documentation for mingling_core --- mingling/src/lib.rs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'mingling') diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs index 86e1152..741effb 100644 --- a/mingling/src/lib.rs +++ b/mingling/src/lib.rs @@ -1,3 +1,55 @@ +//! Mingling +//! +//! # Intro +//! `Mingling` is a Rust command-line framework. Its name comes from the Chinese Pinyin for "命令", which means "Command". +//! +//! # Use +//! +//! ```rust +//! use mingling::macros::{dispatcher, gen_program, r_println, renderer}; +//! +//! #[tokio::main] +//! async fn main() { +//! let mut program = DefaultProgram::new(); +//! program.with_dispatcher(HelloCommand); +//! +//! // Execute +//! program.exec().await; +//! } +//! +//! // Define command: " hello" +//! dispatcher!("hello", HelloCommand => HelloEntry); +//! +//! // Render HelloEntry +//! #[renderer] +//! fn render_hello_world(_prev: HelloEntry) { +//! r_println!("Hello, World!") +//! } +//! +//! // Fallbacks +//! #[renderer] +//! fn fallback_dispatcher_not_found(prev: DispatcherNotFound) { +//! r_println!("Dispatcher not found for command `{}`", prev.join(", ")) +//! } +//! +//! #[renderer] +//! fn fallback_renderer_not_found(prev: RendererNotFound) { +//! r_println!("Renderer not found `{}`", *prev) +//! } +//! +//! // Collect renderers and chains to generate DefaultProgram +//! gen_program!(); +//! ``` +//! +// Output: +//! +//! ``` +//! > mycmd hello +//! Hello, World! +//! > mycmd hallo +//! Dispatcher not found for command `hallo` +//! ``` + // Re-Export Core lib pub use mingling::*; pub use mingling_core as mingling; -- cgit