diff options
Diffstat (limited to 'mingling/src/lib.rs')
| -rw-r--r-- | mingling/src/lib.rs | 71 |
1 files changed, 1 insertions, 70 deletions
diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs index 44812d6..718d282 100644 --- a/mingling/src/lib.rs +++ b/mingling/src/lib.rs @@ -1,73 +1,4 @@ -//! Mingling -//! -//! # Intro -//! [`Mingling`](https://github.com/mingling-rs/mingling) is a **proc-macro and type system-based** Rust CLI framework, suitable for developing complex command-line programs with numerous subcommands. -//! -//! # Use -//! Here is a basic project written using **Mingling**: -//! - When the user types `greet`, the program outputs `Hello, World!` -//! - When the user types `greet Alice`, the program outputs `Hello, Alice!` -//! -//! ```rust -//! use mingling::prelude::*; -//! -//! dispatcher!("greet", CMDGreet => EntryGreet); -//! -//! fn main() { -//! let mut program = ThisProgram::new(); -//! program.with_dispatcher(CMDGreet); -//! program.exec_and_exit(); -//! } -//! -//! pack!(ResultName = String); -//! -//! #[chain] -//! fn handle_greet(args: EntryGreet) -> Next { -//! let name: ResultName = args -//! .inner -//! .first() -//! .cloned() -//! .unwrap_or_else(|| "World".to_string()) -//! .into(); -//! name -//! } -//! -//! #[renderer] -//! fn render_name(name: ResultName) -> RenderResult { -//! let mut result = RenderResult::default(); -//! result.println(&format!("Hello, {}!", *name)); -//! result -//! } -//! -//! #[renderer] -//! fn render_dispatcher_not_found(err: ErrorDispatcherNotFound) -> RenderResult { -//! let mut result = RenderResult::default(); -//! if err.len() > 0 { -//! result.println(&format!("Command not found: [{}]", err.join(" "))); -//! } -//! result -//! } -//! -//! gen_program!(); -//! ``` -//! -//! Output: -//! -//! ```text -//! > mycmd greet -//! Hello, World! -//! > mycmd greet Alice -//! Hello, Alice! -//! > mycmd great -//! Command not found: [great] -//! ``` -//! -//! # Examples -//! `Mingling` provides detailed usage examples for your reference. -//! See [Examples](_mingling_examples/index.html) or [Helpdoc](https://mingling-rs.github.io/mingling/docs/examples.html) -//! -//! # About Features -//! All features of `Mingling` are opt-in. To learn what each feature provides, see [Features](feature/index.html) or [Helpdoc](https://mingling-rs.github.io/mingling/docs/doc.html#/pages/other/features) +#![doc = include_str!("lib.md")] #[cfg(feature = "core")] mod example_docs; |
