aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace build.rs with compile-time macro build steps魏曹先生3 days1-0/+4
| | | | | | | | | | | | | BREAKING CHANGE: Replace the `build`/`builds` feature system with compile-time macro-driven generation. `gen_program!()` now automatically invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf` features are enabled, eliminating the need for `build.rs` and `[build-dependencies]` blocks. This removes the `build` feature, the `mingling::build` module, and all related build-time API functions. Completion scripts are now written to `{target_directory}/mingling/` instead of `target/release/`. The `mingling_cli` uses `build_comp!("mling")` for its custom binary name.
* feat(macros)!: change completion context parameter to owned type魏曹先生3 days1-1/+1
| | | | | | BREAKING CHANGE: `#[completion]` functions must now take `ShellContext` by value instead of `&ShellContext`. Reference parameters are reserved for resource injection.
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生3 days1-1/+1
| | | | | | | | | Remove the `pack!`, `pack_err!`, `pack_structural!`, and `pack_err_structural!` macros, replacing all pipeline type definitions with `#[derive(Grouped)]` and `#[derive(Grouped, Wrap)]` attributes. This changes the generated struct shape from named-field structs with an `inner` field to tuple structs accessed via `.0`, and removes the auto-generated `name` and `info` fields from error types.
* feat: add fallback renderer for unknown commands魏曹先生3 days1-3/+24
|
* feat: add self-update command for mling魏曹先生4 days1-0/+1
| | | | | | | | Add `mling update` to fetch the latest GitHub Actions artifact for the current platform, stage it as a tarball in the data directory, and apply it on the next wrapper invocation. The wrapper extracts the staged package over the installation directory while skipping the running executable, then removes the staged file.
* feat: add config command and resource for editing settings魏曹先生11 days1-0/+1
| | | | | Add a new `cfg` command to view and edit configuration items stored as key-value pairs in a JSON file.
* refactor(cli): move global help and completion to library魏曹先生11 days1-1/+31
| | | | | Move the global help and completion handlers from the CLI binary into the library crate so they can be reused by other entry points.
* chore: move CLI entry to bin and restructure imports魏曹先生11 days1-0/+13
Move the CLI binary from `src/main.rs` to `src/bin/cli.rs` and move shared program generation into a new lib.rs module.