summaryrefslogtreecommitdiff
path: root/mingling/README.md
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-29 21:48:23 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-29 21:48:23 +0800
commit596e5e2440df2d32f1cf3e052dc633e774edf6ee (patch)
treedc98eb6a1789847b899207d0b99337bb3ccd92a5 /mingling/README.md
parent25a164f74c011e6e78846f226cbd7a8bd87db92f (diff)
Rename mingling to mingling_core and update dependencies
Diffstat (limited to 'mingling/README.md')
-rw-r--r--mingling/README.md70
1 files changed, 0 insertions, 70 deletions
diff --git a/mingling/README.md b/mingling/README.md
deleted file mode 100644
index 506d5ce..0000000
--- a/mingling/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# Mìng Lìng - 命令
-
-> [!WARNING]
->
-> **Note**: Mingling is still under active development, and its API may change. Feel free to try it out and give us feedback!
-
-`Mingling` is a Rust command-line framework. Its name comes from the Chinese Pinyin for "命令", which means "Command".
-
-## Quick Start
-
-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},
-};
-
-#[tokio::main]
-async fn main() {
- let mut program = MyProgram::new();
- program.with_dispatcher(HelloCommand);
- program.exec().await;
-}
-
-dispatcher!("hello", HelloCommand => HelloEntry);
-
-#[renderer]
-pub fn render_hello(_prev: HelloEntry) {
- r_println!("Hello, World!")
-}
-
-#[renderer]
-pub fn render_no_dispatcher_found(prev: NoDispatcherFound) {
- r_println!("Subcommand not found: '{}'", prev.args.join(", "))
-}
-
-program!(MyProgram);
-```
-
-Output:
-
-```
-> mycmd hello
-Hello, World!
-> mycmd hallo
-Subcommand not found: 'mycmd hallo'
-```
-
-## Core Concepts
-
-Mingling abstracts command execution into the following parts:
-
-1. **Dispatcher** - Routes user input to a specific renderer or chain based on the command node name.
-2. **Chain** - Transforms the incoming type into another type, passing it to the next chain or renderer.
-3. **Renderer** - Stops the chain and prints the currently processed type to the terminal.
-4. **Program** - Manages the lifecycle and configuration of the entire CLI application.
-
-## Project Structure
-
-The Mingling project consists of two main parts:
-
-- **[mingling/](mingling/)** - The core runtime library, containing type definitions, error handling, and basic functionality.
-- **[mingling_macros/](mingling_macros/)** - The procedural macro library, providing declarative macros to simplify development.
-
-## License
-
-This project is licensed under the MIT License.
-
-See [LICENSE-MIT](LICENSE-MIT) or [LICENSE-APACHE](LICENSE-APACHE) file for details.