aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* chore: remove stale doc comments from ExitCodeSetupunreleased魏曹先生19 hours1-6/+0
|
* fix: update feature flag from extra_macros to extras in doc scripts魏曹先生19 hours4-4/+4
|
* fix: generate async-compatible empty do_chain fallback魏曹先生19 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魏曹先生22 hours8-32/+67
|
* chore!: simplify DirectoryEnvironmentSetup to unit struct魏曹先生22 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魏曹先生29 hours3-16/+2
|
* refactor!: replace build.rs with compile-time macro build steps魏曹先生29 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魏曹先生41 hours18-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魏曹先生41 hours5-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魏曹先生42 hours1-1/+1
|
* fix: update README StateNext example syntax魏曹先生42 hours1-3/+4
|
* docs(sidebar): mark completed issues and reorder them魏曹先生42 hours5-35/+35
|
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生42 hours101-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魏曹先生43 hours5-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魏曹先生44 hours5-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魏曹先生44 hours65-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魏曹先生45 hours88-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魏曹先生46 hours80-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魏曹先生47 hours7-13/+28
|
* feat(install): add --enable flag to run pkg-enable after install魏曹先生47 hours1-3/+83
|
* feat: add fallback renderer for unknown commands魏曹先生48 hours1-3/+24
|
* docs: split 0.5.0 roadmap into individual issue pages魏曹先生48 hours11-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.
* feat: add self-update command for mling魏曹先生3 days7-9/+1622
| | | | | | | | 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.
* ci: parallelize package builds and publish with docs deploy魏曹先生3 days1-23/+31
| | | | | | | Refactor the CI workflow to build distributable packages in parallel with checks, then upload them to the Pages deployment alongside documentation. Simplify artifact naming to use only the OS rather than commit SHA and date, and add SHA-256 checksums.
* chore: move lint registry to OUT_DIR魏曹先生3 days3-6/+9
| | | | | Update registry generation to write to cargo's OUT_DIR and include it via env! instead of a static project-relative path.
* ci: add package-mling job to CI workflow0.4.0魏曹先生3 days1-0/+49
|
* ci: update actions/checkout to v7魏曹先生3 days2-4/+4
|
* docs: fix intra-doc links in mingling crate魏曹先生3 days4-8/+8
|
* docs(changelog): mark 0.4.0 as released and add 0.5.0魏曹先生3 days1-2/+25
|
* docs: add structural_renderer migration to roadmap魏曹先生3 days1-0/+4
|
* refactor: rename Confirmer to ResConfirm and OSC94 to ResOSC94魏曹先生3 days10-113/+157
| | | | | | Rename `Confirmer` resource to `ResConfirm`, `ConfirmerCount` to `ConfirmCount`, and `ConfirmerPredicate` to `ConfirmPredicate`. Update related setups, guards, and documentation references.
* feat: move OSC94 under its own module and add confirmer predicates魏曹先生3 days11-379/+579
| | | | | | Extract OSC94 state and guard types from `res` into a dedicated `osc94` module, and add `ConfirmerCount` and `ConfirmerPredicate` types with `YesConfirm` and `TrueConfirm` implementations.
* chore: replace intra-doc links with plain code spans魏曹先生3 days3-6/+6
|
* fix: only send clean state when supported魏曹先生4 days1-1/+3
|
* feat(res): add OSC94 resource and setup for terminal progress魏曹先生4 days6-0/+498
|
* feat(res): add Confirmer resource and stdin args setup魏曹先生4 days6-19/+469
| | | | | | | | 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.
* feat(core): add public ArgumentSplitter utility魏曹先生4 days5-21/+94
| | | | | | Move the REPL's argument splitting logic into a new public `utils` module exposing the `ArgumentSplitter` trait for reuse by downstream code.
* feat(core): allow pre_dispatch hooks to mutate arguments魏曹先生4 days6-23/+81
| | | | | | Change `HookPreDispatchInfo.arguments` from `&[String]` to `&mut Vec<String>` so hooks can rewrite command-line arguments before dispatch.