| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Add a new `test-all` command that runs tests across all crates with
optional per-crate command overrides via `mingling-ci.toml` files.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Remove the generic parameter `C` from `DirectoryEnvironmentSetup`,
making it a unit struct that no longer requires `::<C>::default()` for
construction. Update the `ProgramSetup` impl and the `setup` method
signature accordingly, and improve the doc comments.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
BREAKING CHANGE: `#[completion]` functions must now take `ShellContext`
by value instead of `&ShellContext`. Reference parameters are reserved
for resource injection.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Add `#[derive(Wrap)]` to treat a struct as its inner type, generating
`From`, `Deref`, and `DerefMut` implementations. Supports single-field
structs or multi-field structs with a `#[wrap]`-marked field.
|
| |
|
|
|
|
|
|
|
|
| |
The legacy `parser` feature and its module tree (`mingling::parser`,
`Argument`, `Picker`, `Pickable`, etc.) have been fully removed and
replaced by the `picker` feature powered by `arg-picker`.
BREAKING CHANGE: Remove `parser` feature and use `picker` instead.
Migration guide: Replace `features = ["parser"]` with
`features = ["picker"]` and update API usage per the provided table.
|
| |
|
|
|
|
|
| |
The `dispatcher!` macro no longer requires a `CMD*` dispatcher type
argument; the dispatcher struct is now generated internally as
`__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and
`Dispatcher::node()` / `clone_dispatcher()` methods are removed.
|
| |
|
|
|
|
|
| |
Dispatchers are now always registered at compile time, removing the
`with_dispatcher` / `with_dispatchers` methods and the
`PathfinderConfig` API. The `dispatch_tree` feature now only controls
the matching strategy (trie vs linear list).
|
| | |
|
| |
|
|
|
|
| |
Rename `Confirmer` resource to `ResConfirm`, `ConfirmerCount` to
`ConfirmCount`, and `ConfirmerPredicate` to `ConfirmPredicate`. Update
related setups, guards, and documentation references.
|
| |
|
|
|
|
| |
Extract OSC94 state and guard types from `res` into a dedicated
`osc94` module, and add `ConfirmerCount` and `ConfirmerPredicate`
types with `YesConfirm` and `TrueConfirm` implementations.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Add Confirmer with cached confirmation state and predicate-based
parsing for yes/no and true/false inputs. Add ConfirmerSetup to
register the resource and auto-confirm when skip mode is enabled.
Add StandardInputArgsSetup to read piped stdin as appended arguments.
Reorganize module exports in res and setups.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Refactor program configuration types into a dedicated public `config`
module under `mingling_core`, making `StructuralRendererSetting`
accessible via `mingling_core::config` instead of the crate root.
Update all internal references and setup modules to use the new
`config::` path convention.
|
| | |
|
| | |
|
| |
|
|
|
| |
Mark all source files with a comment indicating they are not optimized
for documentation purposes.
|
| |
|
|
|
|
|
| |
Replace `ThisProgram` with `Self` where appropriate and
mark constructors as `#[must_use]` and `const` where possible.
Simplify explicit lifetimes in `ProgramSetup` and `Default`
implementations using elided lifetimes.
|
| | |
|
| |
|
|
|
|
|
| |
Update stdout and error output settings to use explicit `RenderOutput`
and `ErrorOutput` enums, and replace the `confirm` boolean with distinct
`ConfirmationMode`, `InteractionMode`, and `YesAssumption` fields for
clearer control flow.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Add `Metadata<B>` trait and `#[metadata(Entry)]` attribute macro
to attach arbitrary, compile-time-typed metadata to entries.
Implement `ProgramCollect::get_metadata<T>()` for runtime retrieval,
backed by a global registry populated by `register_metadata!`.
Extend `pathf` with `MetadataPattern` to resolve metadata types
across modules at build time. Add two examples demonstrating
metadata usage with and without pathf integration.
|
| |
|
|
| |
trait
|
| |
|
|
|
|
|
|
| |
Rename the internal fallback type and its associated `ProgramCollect`
plumbing from `ErrorDispatcherNotFound`/`build_dispatcher_not_found` to
`EntryFallback`/`build_entry_fallback`, along with the generated enum
variant and pack type. Update all documentation, examples, and tests
accordingly.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Add the Arborium JS library header to the documentation build via
RUSTDOCFLAGS and docs.rs metadata so generated docs include the
interactive Arborium components.
|
| |
|
|
|
|
|
| |
Add convenience presets (`mini`, `advanced`, `full`, `build_advanced`,
`build_full`) to `mingling/Cargo.toml` and document them in both
English and Chinese feature docs. Update getting-started guides to
reflect the new default `core`/`macros` features.
|
| |
|
|
|
|
|
| |
Add `Entry` struct with `pub(crate)` visibility for
`inner` fields, plus `new()` and `this()` constructors
on `ThisProgram` for docs.rs demonstration of the
`gen_program!` macro expansion.
|
| | |
|
| | |
|
| |
|
|
|
| |
Update all references across docs, examples, and configuration files to
use the shorter `extras` feature name.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new `#[command]` attribute macro (feature-gated behind
`extra_macros`) that converts a plain function with a `Vec<String>`
parameter into a fully wired Mingling command. The macro generates a
`dispatcher!` call, a `#[chain]` wrapper, and a hidden module
re-exporting
all generated types.
Also add `CommandPattern` to the pathf pattern analyzer to recognize
`#[command]`-annotated functions and track their generated hidden
modules.
|