diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-04-01 16:48:10 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-04-01 16:48:10 +0800 |
| commit | 2439ce3c304918d91113948c32cd3fd8f6e5db5c (patch) | |
| tree | a42faa8ba6d90163834899019ad3785f8adac66b /README.md | |
| parent | 2a841ecd57d1d3d1c187f220c599164a2c6fc1cc (diff) | |
Update example code in README files
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 26 |
1 files changed, 17 insertions, 9 deletions
@@ -11,31 +11,39 @@ The example below shows how to use `Mingling` to create a simple command-line program: ```rust -use mingling::{ - hint::NoDispatcherFound, - macros::{dispatcher, program, r_println, renderer}, -}; +use mingling::macros::{dispatcher, gen_program, r_println, renderer}; #[tokio::main] async fn main() { - let mut program = MyProgram::new(); + let mut program = DefaultProgram::new(); program.with_dispatcher(HelloCommand); + + // Execute program.exec().await; } +// Define command: "<bin> hello" dispatcher!("hello", HelloCommand => HelloEntry); +// Render HelloEntry #[renderer] -pub fn render_hello(_prev: HelloEntry) { +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] -pub fn render_no_dispatcher_found(prev: NoDispatcherFound) { - r_println!("Subcommand not found: '{}'", prev.args.join(", ")) +fn fallback_renderer_not_found(prev: RendererNotFound) { + r_println!("Renderer not found `{}`", *prev) } -program!(MyProgram); +// Collect renderers and chains to generate DefaultProgram +gen_program!(); ``` Output: |
