aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(ci-new): report per-file results魏曹先生24 hours4-15/+97
| | | | | | Add per-file report generation for markdown checks using the reporter module, grouping outcomes by source file and exporting ok or error results with snake_case item names.
* feat(ci-new): add markdown code block verification commands魏曹先生24 hours7-0/+626
| | | | | | | Add `markdown-check` and `markdown-check-all` commands to verify Rust code blocks in markdown files. Code blocks are compiled as test projects, sharing temporary crates based on dependency configuration for parallel execution.
* refactor(ci-new): generalize report entries from packages to items魏曹先生25 hours8-84/+120
| | | | | | | | Rename package-based terminology and structures to item-based, allowing arbitrary items with associated locations instead of only crate packages. Locations are now carried through report files and included in generated reports, with the fallback to `—` removed.
* feat(ci-new): add test-all task with per-crate config support魏曹先生25 hours15-18/+187
| | | | | Add a new `test-all` command that runs tests across all crates with optional per-crate command overrides via `mingling-ci.toml` files.
* refactor(ci-new): flatten collect directory layout魏曹先生25 hours2-60/+72
| | | | | | Store result files directly in `collect/` as `{task}.{platform}.ok` and `{task}.{platform}.{package}.err` instead of nesting under task/platform subdirectories.
* refactor(ci-new): aggregate successful package reports魏曹先生25 hours3-40/+83
| | | | | Replace per-package `.ok` files with a single `ok` file listing successful packages per platform, flushed after all checks complete.
* chore(ci-new): replace progress system with indicatif魏曹先生25 hours4-57/+224
|
* refactor(ci-new): extract parallel cargo check runner魏曹先生25 hours4-130/+113
| | | | | | | Extract the duplicate parallel check logic from build-all and clippy-all tasks into a shared `run_parallel_checks` helper. Update renderers to set exit code instead of printing failure counts.
* feat(ci-new): add clippy-all task to run clippy on all crates魏曹先生25 hours3-0/+92
|
* feat(ci-new): add show-features command to list documented features魏曹先生26 hours6-0/+79
|
* feat(ci-new): add report-clean command to remove collected logs and魏曹先生26 hours4-3/+60
| | | | report
* feat(ci-new): implement build-all task魏曹先生26 hours4-7/+142
| | | | | Run cargo build for all package manifests in parallel and report failures.
* refactor(ci-new): rename job module to task魏曹先生26 hours3-1/+1
|
* refactor(ci-new): infer platform from build target in export魏曹先生26 hours1-7/+30
| | | | | Rename the explicit-platform variant to `export_on` and add a new `export` that uses `current_platform()` to determine the target.
* refactor(ci-new): extract report log collection into resource魏曹先生26 hours6-173/+233
| | | | | | | Move log parsing, ANSI stripping, and git info retrieval into a `ResCollectLogs` resource read once during CI setup, keeping the report command focused on rendering. Also add a `package_dirs` map to `Manifests` for direct package name lookups.
* feat: add new Mingling CI system crate (WIP)魏曹先生26 hours21-0/+1481
| | | | | | Add `mingling_ci` as a standalone CI system built on Mingling 0.4.0 to validate the next version, with report collection and manifest listing commands.
* chore: remove stale doc comments from ExitCodeSetupunreleased魏曹先生29 hours1-6/+0
|
* fix: update feature flag from extra_macros to extras in doc scripts魏曹先生30 hours4-4/+4
|
* fix: generate async-compatible empty do_chain fallback魏曹先生30 hours2-4/+20
| | | | | | | When a program declares no chains, the synthesized `do_chain` now respects the `async` feature by emitting a boxed future signature with a `Box::pin(async { panic! })` body, matching the trait requirement and fixing E0053 in async builds.
* chore!: simplify ExitCodeSetup to non-generic unit struct魏曹先生32 hours8-32/+67
|
* chore!: simplify DirectoryEnvironmentSetup to unit struct魏曹先生32 hours2-27/+62
| | | | | | | 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.
* chore!: remove legacy extra_macros feature alias魏曹先生39 hours3-16/+2
|
* refactor!: replace build.rs with compile-time macro build steps魏曹先生39 hours65-771/+1357
| | | | | | | | | | | | | 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魏曹先生2 days18-181/+178
| | | | | | BREAKING CHANGE: `#[completion]` functions must now take `ShellContext` by value instead of `&ShellContext`. Reference parameters are reserved for resource injection.
* feat(macros): relax completion attribute signature魏曹先生2 days5-39/+123
| | | | | | | Allow completion functions to omit the context parameter, accept owned ShellContext or any From<&ShellContext> type, and return any type implementing Into<Suggest>. Add From<&str> for SuggestItem and derive Clone for ShellContext.
* docs: fix comment alignment in README example魏曹先生2 days1-1/+1
|
* fix: update README StateNext example syntax魏曹先生2 days1-3/+4
|
* docs(sidebar): mark completed issues and reorder them魏曹先生2 days5-35/+35
|
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生2 days101-2428/+1229
| | | | | | | | | 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(ci): add translated docs structure consistency check魏曹先生2 days5-11/+393
| | | | | | Add a new CI check that verifies translated docs directories mirror the English reference structure, comparing structural signatures of markdown files including headings, code fences, and list types.
* feat(macros): add Wrap derive macro魏曹先生2 days5-2/+252
| | | | | | 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.
* refactor!: remove legacy parser feature and migrate to picker魏曹先生2 days65-3929/+593
| | | | | | | | | | 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.
* refactor!: remove Node type and simplify dispatcher macro syntax魏曹先生2 days88-1026/+548
| | | | | | | 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.
* refactor!: remove dynamic dispatcher registration API魏曹先生2 days80-1304/+473
| | | | | | | 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).
* refactor!: rename dispatch_args_trie to dispatch_args魏曹先生2 days7-13/+28
|
* feat(install): add --enable flag to run pkg-enable after install魏曹先生2 days1-3/+83
|
* feat: add fallback renderer for unknown commands魏曹先生2 days1-3/+24
|
* docs: split 0.5.0 roadmap into individual issue pages魏曹先生2 days11-143/+395
|
* chore(release): bump version to 0.5.0魏曹先生2 days46-131/+131
|
* docs: Update cov-test.rs flag description魏曹先生2 days1-2/+6
|
* fix: update macOS display name in download section魏曹先生3 days1-1/+1
|
* feat(docs): enhance viewer UI with pagination and code highlighting魏曹先生3 days2-4/+399
| | | | | | Add line numbers, cursor glow effects, and syntax highlighting to the example viewer. Improve visual design with grid backgrounds, pill-shaped navigation buttons, and a "cargo add" quick link.
* feat(landing): enhance landing page with terminal hero and scroll snap魏曹先生3 days3-66/+931
| | | | | | | | | Add a fixed navigation bar, full-height hero section with tiled grid background, and an animated command carousel terminal. Style download links as interactive buttons and incorporate syntax highlighting styles. Introduce MlingDisplay JS parser for rendering display.rs-style markup with colors, headings, and formatting. Update version file config to include dist/index.html.
* feat: add grid background pattern to non-hero sections魏曹先生3 days1-7/+78
|
* style: update CTA banner visuals and simplify footer links魏曹先生3 days1-29/+14
|
* feat: add footer links and remove CTA buttons from hero section魏曹先生3 days1-12/+106
|
* feat: redesign landing page with scroll snap and interactive elements魏曹先生3 days2-152/+1048
| | | | | | | | Implement a modern scroll-snapping layout with dashed golden grid lines, terminal emulator block, code carousel, and cursor glow effect. Restructure code demo grids for better visual hierarchy and add line highlighting animations.
* feat(website): add Mingling CLI download page魏曹先生3 days2-2/+544
|
* ci: scope artifact upload to mling package only魏曹先生3 days1-1/+1
|
* chore: switch update source to checksum-verified static package魏曹先生3 days4-213/+156
| | | | | | Replace GitHub API artifact discovery with a static base URL, verify the downloaded package by sha256, and record the applied checksum so the wrapper can report when mling is already up to date.