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:
use ;
async
dispatcher!;
program!;
Output:
> mycmd hello
Hello, World!
> mycmd hallo
Subcommand not found: 'mycmd hallo'
Core Concepts
Mingling abstracts command execution into the following parts:
- Dispatcher - Routes user input to a specific renderer or chain based on the command node name.
- Chain - Transforms the incoming type into another type, passing it to the next chain or renderer.
- Renderer - Stops the chain and prints the currently processed type to the terminal.
- Program - Manages the lifecycle and configuration of the entire CLI application.
Project Structure
The Mingling project consists of two main parts:
- mingling/ - The core runtime library, containing type definitions, error handling, and basic functionality.
- mingling_macros/ - The procedural macro library, providing declarative macros to simplify development.
License
This project is licensed under the MIT License.
See LICENSE-MIT or LICENSE-APACHE file for details.