aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat: derive Clone, Copy, PartialEq, Eq for MockProgramCollect魏曹先生3 days1-0/+1
|
* chore: implement Debug for MockProgramCollect魏曹先生3 days1-0/+9
|
* docs(comp): improve documentation for completion module魏曹先生3 days5-50/+632
| | | | | | Add detailed doc comments, examples, and usage notes across the completion module including ShellContext, Suggest, and related traits.
* docs: enable running doctests in comp and pathf build modules魏曹先生3 days4-16/+102
|
* docs: update multiple dispatchers example to use chaining魏曹先生3 days2-52/+4
| | | | | | Replace the `with_dispatchers` tuple syntax with chained `with_dispatcher` calls to match the current API and remove the obsolete section about tuple-based registration.
* chore: remove stale comment from features.rs魏曹先生3 days1-1/+0
|
* refactor: replace with_dispatchers with chained with_dispatcher calls魏曹先生3 days4-9/+20
|
* chore(docs): fix intra-doc link formatting魏曹先生3 days5-10/+14
| | | | | | Replace intra-doc links with explicit URLs for types that are not accessible from the current module scope, and add missing panic documentation section.
* feat(collection): add Display impl for MockProgramCollect魏曹先生3 days1-0/+6
|
* chore: add "Doc Not Optimize" comments to source files魏曹先生3 days185-0/+185
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* docs: expand trait and type documentation with examples魏曹先生3 days12-174/+2214
|
* docs: Update 0.5.0 roadmap with dispatcher changes魏曹先生4 days1-7/+78
| | | | | Add breaking change for `with_dispatcher` removal, renumber feature items, and outline automated `dispatcher_tree` optimization plan.
* docs: add 0.5.0 roadmap issue魏曹先生4 days2-1/+44
|
* docs: rename command macro issue as solved魏曹先生4 days1-1/+1
|
* ci: add macOS to CI test matrix魏曹先生4 days2-4/+24
|
* ci: Refactor CI workflows into single check matrix魏曹先生4 days9-152/+217
| | | | | | Replace the separate code/docs CI jobs and local check flags with a unified `--check-*` flag system, enabling each check to run independently across a platform matrix.
* fix(cov-test): recolor coverage summary with project thresholds魏曹先生4 days1-0/+79
| | | | | | Apply project-specific color coding (0-50% red, 51-80% yellow, 81-100% green) to the per-file coverage summary in the generated HTML report, overriding llvm-cov's default thresholds.
* feat(cov-test): build examples with RUSTFLAGS for complete coverage魏曹先生4 days1-11/+60
| | | | | | Replace `cargo llvm-cov run` with explicit RUSTFLAGS-compiled examples to ensure dependency crates are instrumented, fixing silent coverage loss (e.g., once_exec.rs at 0%).
* ci: switch to forked cargo-llvm-cov and refactor coverage tests魏曹先生5 days2-15/+322
| | | | | | | | Refactor cov-test to collect coverage from workspace tests, integration test crates, and examples, merging them into a single HTML report. This requires the forked cargo-llvm-cov which supports including non-workspace binaries and test/example source files in the report.
* fix: suppress future_not_send lint and tighten Send bounds魏曹先生5 days6-8/+33
| | | | | Add `#[allow(clippy::future_not_send)]` to chain invocation methods and clarify Send requirements for `exec` bounds.
* refactor(core): extract global resource store into standalone container魏曹先生5 days3-73/+446
| | | | | | | | Refactor `GlobalResources` from a type-erased `Arc<Mutex<HashMap<...>>>` alias into a `GlobalResContainer` struct with per-resource mutexes. This prevents nested `modify_res` calls from deadlocking, allows independent containers to coexist, and keeps `Program`'s public resource API unchanged.
* feat(readme): mark project generator and installer as complete魏曹先生6 days1-2/+2
|
* feat: normalize test path for Windows verbatim prefixes魏曹先生6 days1-1/+5
|
* fix: combine stdout and stderr in command output魏曹先生6 days1-1/+9
| | | | | Prefer both streams when present so failures with stderr warnings still include stdout details like test assertions.
* fix(run): emit task failures to stdout on non-TTY魏曹先生6 days1-4/+21
| | | | | Avoid ProgressBar swallowing error output in CI or piped contexts by printing directly to stdout when stdout is not a terminal.
* ci: remove output redirection from test commands魏曹先生6 days2-4/+4
|
* feat(shell_ctx): allow clippy const fn lint for typing_argument魏曹先生6 days1-0/+2
|
* chore(release): bump arg-picker crates to 0.2.0picker-0.2.0魏曹先生6 days8-13/+13
|
* feat(parselib): remove invalid naming case variants魏曹先生6 days2-15/+9
| | | | | Remove `Title`, `Lower`, and `Upper` variants from `ParserStyleNamingCase` as they are not valid naming conventions.
* style: satisfy clippy pedantic and nursery lints魏曹先生6 days25-304/+322
|
* feat(pathf): enforce pedantic lints and update API ergonomics魏曹先生6 days11-187/+164
| | | | | | | | | | - Add `#[must_use]` to public constructors and getters - Change `init_with_config` to accept `&PathfinderConfig` instead of owned value - Refactor `map_or_else` and `or_insert_with` for clippy compliance - Add `#![deny(clippy::pedantic)]` and `#![deny(clippy::nursery)]` - Document error cases in public API docs - Simplify duplicated dispatcher_clap analysis logic
* docs: update verbosity and error output API in examples魏曹先生6 days4-9/+12
|
* refactor: use `Self` and simplify lifetimes in setup types魏曹先生6 days2-13/+18
| | | | | | | 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.
* refactor: simplify macro parsing code and fix clippy warnings魏曹先生6 days11-58/+61
|
* refactor(asset): replace wildcard match with explicit variants魏曹先生6 days2-4/+4
|
* chore: update example docs for PanicSilence enum usage魏曹先生6 days1-2/+2
|
* feat(example): use PanicSilence enum in panic unwind example魏曹先生6 days1-2/+2
|
* feat: pass context by reference in completion rendering魏曹先生6 days1-1/+1
|
* feat: replace boolean program config with typed enums魏曹先生6 days1-0/+43
| | | | | | | | | Replace boolean flags in `ProgramStdoutSetting` and `ProgramUserContext` with semantic enum types, improving type safety and self-documentation. BREAKING CHANGE: Boolean fields are replaced by enums, e.g. `verbose`/`quiet`/`debug` become `verbosity`, `dry_run`/`force` become `execution`.
* refactor: replace boolean settings with mode enums魏曹先生6 days2-11/+22
| | | | | | | 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.
* refactor(macros): clean up clippy lints and simplify code魏曹先生6 days17-113/+92
|
* refactor(core): improve code style and public API clarity魏曹先生6 days30-486/+592
| | | | | | | | | | | | | | | | Replace bool-based settings with enums, refine visibility and signatures, and standardize `Self` usage across the crate. - Introduce `ErrorOutput`, `RenderOutput`, `PanicSilence`, `Verbosity`, `ColorOutput`, and `ProgressOutput` enums for clearer configuration semantics - Make `GlobalResources`, `ProgramCell`, and `split_input`/`split_input_string` public - Change hook info parameters to accept references and `split_input_string` to take `&str` - Apply `Self` shorthand throughout implementations and add `#[must_use]` attributes where appropriate - Enable strict clippy lints with targeted allowances
* chore: enforce pedantic clippy lints and fix warnings魏曹先生6 days16-91/+94
|
* fix: strip verbatim prefix from canonicalized paths on Windows魏曹先生6 days1-1/+23
| | | | | Refactor `find_project_root` to use `deverbatim` on canonicalized paths, removing the `\\?\` prefix on Windows to ensure proper path handling.
* fix(class-add): resolve project root by walking up for `.mling`魏曹先生7 days1-5/+56
|
* feat(class-add): implement class-add command魏曹先生7 days3-1/+269
| | | | | | | Add the `class-add` command to create project classes from templates registered in `.mling/classes.toml`. Supports name derivation (snake_case, PascalCase, etc.), template expansion, and shell completions.
* feat(proj_mgr): add support for conditional directory removal魏曹先生7 days2-1/+63
| | | | | | Add `[[hide-dir]]` rule to remove entire directories when their condition evaluates to true, extending the existing file-level hide functionality to directory trees.
* feat(rule_solver): support `!=` comparison and reject trailing tokens魏曹先生7 days1-2/+39
| | | | | | Add `!=` operator support in rule expressions and ensure the entire expression is consumed during parsing, invalidating any trailing garbage tokens that would previously be silently ignored.
* feat(proj_mgr): add toggle mutex validation and program crate name魏曹先生7 days4-2/+119
| | | | | | Support `[[user.toggle-mutex]]` groups in rule.toml to enforce mutually exclusive toggle options, and derive `program_crate_name` from `program_name` using snake_case conversion.
* refactor(proj_init): simplify template expansion logic魏曹先生7 days1-42/+12
| | | | | Remove `tmpl_` prefix stripping and special `.mling` handling, rendering all files as templates except metadata files.