From ec9edc294fd5e7e29977fc7b0e6fb953422bc0e2 Mon Sep 17 00:00:00 2001 From: ι­ζ›Ήε…ˆη”Ÿ <1992414357@qq.com> Date: Wed, 19 Aug 2026 05:54:00 +0800 Subject: chore: reorganize dev tools into dev/ directory and consolidate configs Move CI, dev tools, and configs from root-level scattered locations into a unified `dev/` directory structure. Update all references across build scripts, documentation, and editor configurations. Also consolidate editor config generation into build.rs for automated synchronization of rust-analyzer settings across VS Code and Zed. --- docs/example-pages/examples.json | 393 --------------------------------------- 1 file changed, 393 deletions(-) delete mode 100644 docs/example-pages/examples.json (limited to 'docs/example-pages/examples.json') diff --git a/docs/example-pages/examples.json b/docs/example-pages/examples.json deleted file mode 100644 index dd5b65b..0000000 --- a/docs/example-pages/examples.json +++ /dev/null @@ -1,393 +0,0 @@ -[ - { - "id": "example-basic", - "name": "Basic", - "icon": "πŸš€", - "category": "core", - "desc": "Demonstrates the basic usage of Mingling with a simple `greet` subcommand that takes a name and prints a greeting.\n", - "tags": [ - "dispatcher!", - "#[chain]", - "#[renderer]" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-argument-picker", - "name": "Argument Picker", - "icon": "πŸ“‹", - "category": "parsing", - "desc": "Demonstrates how to use Mingling's `picker` feature and `Picker` to extract typed arguments from the command line.\n", - "tags": [ - "arg-picker", - "SinglePickable" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-async-support", - "name": "Async Support", - "icon": "⚑", - "category": "runtime", - "desc": "Shows how to drive an async runtime with Mingling using the `async` feature, enabling `async fn` in `#[chain]` with tokio.\n", - "tags": [ - "async", - "await", - "#[chain]" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-clap-binding", - "name": "Clap Binding", - "icon": "πŸ”—", - "category": "parsing", - "desc": "Demonstrates how to bind a `clap::Parser` derive struct to Mingling using `#[dispatcher_clap]` for advanced argument parsing.\n", - "tags": [ - "clap" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-combine-pathf-dispatch-tree", - "name": "Pathfinder + Dispatch Tree", - "icon": "🧭", - "category": "advanced", - "desc": "Demonstrates combining the `pathf` and `dispatch_tree` features. Types are defined in submodules and automatically resolved. Requires `dispatch_tree` in both `[dependencies]` and `[build-dependencies]`.\n", - "tags": [ - "pathf", - "dispatch_tree", - "extras" - ], - "files": [ - "src/main.rs", - "src/sub/mod.rs", - "Cargo.toml" - ] - }, - { - "id": "example-combine-pathf-metadata", - "name": "Pathfinder + Metadata", - "icon": "🧭", - "category": "advanced", - "desc": "Combines the `pathf` feature with entry metadata. The metadata `DataType` and the entry `BindType` are defined inside a submodule, and `pathf` resolves them for `gen_program!()` at build time.\n", - "tags": [ - "pathf", - "metadata" - ], - "files": [ - "src/main.rs", - "src/sub/mod.rs", - "Cargo.toml" - ] - }, - { - "id": "example-command-macro", - "name": "Command Macro", - "icon": "πŸš€", - "category": "advanced", - "desc": "Introduced how to use the `#[command]` macro to generate commands with minimal boilerplate\n", - "tags": [ - "#[command]", - "dispatcher!", - "#[chain]" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-completion", - "name": "Completion", - "icon": "πŸ”„", - "category": "ux", - "desc": "Demonstrates how to implement dynamic shell completion with `#[completion]` and generate scripts for bash, zsh, fish, and pwsh.\n", - "tags": [ - "comp" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-dispatch-tree", - "name": "Dispatch Tree", - "icon": "🌳", - "category": "dispatch", - "desc": "Introduces the `dispatch_tree` feature that converts the subcommand list into a compile-time prefix trie for O(n) command lookup.\n", - "tags": [ - "dispatch_tree" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-enum-tag", - "name": "Enum Tag", - "icon": "🏷️", - "category": "parsing", - "desc": "Shows how to derive `EnumTag` on enums for parsing variants from CLI strings with renames and descriptions.\n", - "tags": [ - "enum_tag", - "Pickable" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-error-handling", - "name": "Error Handling", - "icon": "⚠️", - "category": "runtime", - "desc": "Demonstrates how to define custom error types with `pack!` and route them to dedicated `#[renderer]` functions for user-friendly output.\n", - "tags": [ - "Result" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-exitcode", - "name": "Exitcode", - "icon": "πŸšͺ", - "category": "runtime", - "desc": "Shows how to set custom exit codes using `ExitCodeSetup` and the `finish` hook to signal success or failure to the shell.\n", - "tags": [ - "ExitCode" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-help", - "name": "Help", - "icon": "πŸ’‘", - "category": "ux", - "desc": "Shows how to use the `#[help]` attribute to provide custom per-command help text that activates when the user passes `--help`.\n", - "tags": [ - "#[help]" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-hook", - "name": "Hook", - "icon": "πŸͺ", - "category": "runtime", - "desc": "Demonstrates how to use Mingling's `ProgramHook` system to observe and debug every stage of the execution pipeline.\n", - "tags": [ - "ProgramHook" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-implicit-dispatcher", - "name": "Implicit Dispatcher", - "icon": "πŸ«₯", - "category": "dispatch", - "desc": "Shows the abbreviated `dispatcher!(\"cmd.path\")` syntax from `extras` that auto-derives struct names from the command path.\n", - "tags": [ - "implicit" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-lazy-resources", - "name": "Lazy Resources", - "icon": "πŸ’€οΈ", - "category": "advanced", - "desc": "Demonstrates how to use `LazyRes` for lazily initialized resources that only allocate when first accessed.\n", - "tags": [ - "LazyRes" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-metadata", - "name": "Entry Metadata", - "icon": "🏷️", - "category": "advanced", - "desc": "Demonstrates attaching arbitrary, compile-time-typed metadata to an entry via `#[metadata(Entry)]` and retrieving it at runtime with `ProgramCollect::get_metadata`. No `pathf` needed here β€” everything lives in a single module.\n", - "tags": [ - "metadata", - "get_metadata", - "extras" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-outside-type", - "name": "Outside Type", - "icon": "πŸ†•", - "category": "advanced", - "desc": "Demonstrates how to use the `group!()` macro to convert an external type into a type recognizable by Mingling\n", - "tags": [ - "group!", - "extras" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-panic-unwind", - "name": "Panic Unwind", - "icon": "πŸ’₯", - "category": "runtime", - "desc": "Shows how to catch panics during program execution and display friendly error messages instead of a raw panic trace.\n", - "tags": [ - "panic_unwind" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-pathfinder", - "name": "Module Pathfinder", - "icon": "🧭", - "category": "advanced", - "desc": "Demonstrates the `pathf` feature, which automatically resolves type module paths at build time. Types can be defined in submodules without explicit `use` in the main module.\n", - "tags": [ - "pathf", - "architecture" - ], - "files": [ - "Cargo.toml", - "src/main.rs", - "src/sub/mod.rs" - ] - }, - { - "id": "example-repl-basic", - "name": "REPL Basic", - "icon": "πŸ”", - "category": "repl", - "desc": "Demonstrates how to build an interactive REPL shell with Mingling using `exec_repl()`, custom prompts, and built-in setups.\n", - "tags": [ - "repl" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-resources", - "name": "Resources", - "icon": "πŸ“¦", - "category": "advanced", - "desc": "Shows how to share global state across commands using `with_resource()` and inject `&T` or `&mut T` into chain and renderer functions.\n", - "tags": [ - "Resources", - "injection" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-setup", - "name": "Setup", - "icon": "πŸ—οΈ", - "category": "core", - "desc": "Demonstrates how to build a custom `ProgramSetup` with `#[program_setup]` for modular configuration of program behaviour.\n", - "tags": [ - "#[setup]", - "extras" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-structural-renderer", - "name": "structural renderer", - "icon": "πŸ“€", - "category": "output", - "desc": "Demonstrates how to render structured output in JSON or YAML using `StructuralRendererSetup` and the `structural_renderer` feature.\n", - "tags": [ - "structural_renderer", - "--json", - "--yaml" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "example-unit-test", - "name": "Unit Test", - "icon": "πŸ§ͺ", - "category": "testing", - "desc": "Shows how to write unit tests for Chain and Renderer functions using the `entry!` macro and assertion helpers.\n", - "tags": [ - "testing", - "extras" - ], - "files": [ - "src/main.rs", - "Cargo.toml" - ] - }, - { - "id": "full-todolist", - "name": "Todo List", - "icon": "πŸ“", - "category": "full", - "desc": "This is a complete example project that demonstrates how to develop a todo list application using Mingling\n", - "tags": [ - "todolist", - "CRUD", - "clichΓ© example" - ], - "files": [ - "src/main.rs", - "src/todolist.rs", - "src/help.rs", - "Cargo.toml" - ] - } -] \ No newline at end of file -- cgit