aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat: normalize test path for Windows verbatim prefixes魏曹先生12 hours1-1/+5
|
* fix: combine stdout and stderr in command output魏曹先生12 hours1-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魏曹先生13 hours1-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魏曹先生13 hours2-4/+4
|
* feat(shell_ctx): allow clippy const fn lint for typing_argument魏曹先生13 hours1-0/+2
|
* chore(release): bump arg-picker crates to 0.2.0picker-0.2.0魏曹先生14 hours8-13/+13
|
* feat(parselib): remove invalid naming case variants魏曹先生14 hours2-15/+9
| | | | | Remove `Title`, `Lower`, and `Upper` variants from `ParserStyleNamingCase` as they are not valid naming conventions.
* style: satisfy clippy pedantic and nursery lints魏曹先生14 hours25-304/+322
|
* feat(pathf): enforce pedantic lints and update API ergonomics魏曹先生15 hours11-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魏曹先生15 hours4-9/+12
|
* refactor: use `Self` and simplify lifetimes in setup types魏曹先生15 hours2-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魏曹先生15 hours11-58/+61
|
* refactor(asset): replace wildcard match with explicit variants魏曹先生15 hours2-4/+4
|
* chore: update example docs for PanicSilence enum usage魏曹先生15 hours1-2/+2
|
* feat(example): use PanicSilence enum in panic unwind example魏曹先生15 hours1-2/+2
|
* feat: pass context by reference in completion rendering魏曹先生15 hours1-1/+1
|
* feat: replace boolean program config with typed enums魏曹先生15 hours1-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魏曹先生15 hours2-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魏曹先生15 hours17-113/+92
|
* refactor(core): improve code style and public API clarity魏曹先生15 hours30-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魏曹先生16 hours16-91/+94
|
* fix: strip verbatim prefix from canonicalized paths on Windows魏曹先生16 hours1-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`魏曹先生35 hours1-5/+56
|
* feat(class-add): implement class-add command魏曹先生35 hours3-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魏曹先生36 hours2-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魏曹先生36 hours1-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魏曹先生36 hours4-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魏曹先生37 hours1-42/+12
| | | | | Remove `tmpl_` prefix stripping and special `.mling` handling, rendering all files as templates except metadata files.
* feat: add remote template source support via git refs魏曹先生39 hours5-12/+479
| | | | | | Allow `proj-init` to accept a `<ref>@<variant>` template source that resolves and caches templates from a git repository, falling back to local directories for plain paths.
* chore: remove obsolete 0.4 template files魏曹先生39 hours13-314/+0
|
* docs: Expand Mingling CLI README with usage details魏曹先生39 hours1-2/+83
|
* feat: add description to FLAG_PAIR suggestion魏曹先生40 hours1-1/+1
|
* chore: remove ZIP template packaging and use directories魏曹先生40 hours8-1333/+37
| | | | | | Replace the ZIP-based template archive workflow with direct directory copying. Delete the `package-mling-tmpls` tool and remove the `zip` dependency.
* feat(config): add metadata description for config command魏曹先生40 hours1-1/+9
|
* feat(config): add cfg --pair flag and refactor config path魏曹先生40 hours3-6/+129
| | | | | | | Add `--pair` flag to output config values as `"key" = "value"` pairs, and provide escaped formatting for display. Move config path resolution to a helper function and expose the underlying hash map for rendering and completion.
* feat: add config command and resource for editing settings魏曹先生41 hours5-5/+122
| | | | | Add a new `cfg` command to view and edit configuration items stored as key-value pairs in a JSON file.
* refactor: move packages dir to mingling/packages魏曹先生41 hours3-4/+4
|
* feat: add project template expansion with rule-based generation魏曹先生41 hours7-8/+1439
| | | | | | | | Implement `mling proj-init` to generate projects from zip templates with checklist-based configuration. Extracts template archive, moves checklist for user editing, and expands `tmpl_`-prefixed files using `just_template` with boolean rule evaluation from `rule.toml` for file hides and display toggles.
* chore: update package versions to 0.4.0 in lock files魏曹先生2 days35-108/+108
|
* ci: package mling templates in CI workflow魏曹先生2 days1-0/+3
|
* chore: add template packaging tool and ignore templates dir魏曹先生2 days4-4/+701
|
* feat: add Mingling 0.4 template files魏曹先生2 days13-0/+314
|
* refactor(pkg-mgr): use pack results for uninstall states魏曹先生2 days1-25/+42
|
* feat(pkg-show): return early error for empty packages魏曹先生2 days1-9/+18
| | | | | Add dedicated error renderer for "No packages installed" and return it early instead of rendering empty package list.
* fix: use consistent output macro for install results魏曹先生2 days1-2/+2
|
* fix: copy mingling-cli binary in install scripts魏曹先生2 days2-0/+2
|
* refactor: migrate renderers to RenderResult and stdout macros魏曹先生2 days5-65/+99
| | | | | Replace buffer-based renderers with explicit RenderResult returns and use cargo-styled output macros for consistency.
* feat: add cargo-style formatting utilities and macros魏曹先生2 days2-0/+219
|
* style: format code and fix minor lint issues魏曹先生2 days2-1/+1
|
* fix: correct docs for parse function in utils::display魏曹先生2 days1-4/+4
|