aboutsummaryrefslogtreecommitdiff
path: root/mingling_core/src
Commit message (Collapse)AuthorAgeFilesLines
* docs(metadata): expand Description documentation with examples and魏曹先生29 hours1-2/+45
| | | | details
* chore: remove stale doc comments魏曹先生29 hours8-8/+0
|
* docs(any): Expand docs for AnyOutput's methods and safety contract魏曹先生29 hours1-32/+477
|
* feat: derive Clone, Copy, PartialEq, Eq for MockProgramCollect魏曹先生29 hours1-0/+1
|
* chore: implement Debug for MockProgramCollect魏曹先生29 hours1-0/+9
|
* docs(comp): improve documentation for completion module魏曹先生29 hours5-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魏曹先生30 hours2-16/+89
|
* chore(docs): fix intra-doc link formatting魏曹先生32 hours5-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魏曹先生32 hours1-0/+6
|
* chore: add "Doc Not Optimize" comments to source files魏曹先生32 hours41-0/+41
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* docs: expand trait and type documentation with examples魏曹先生33 hours12-174/+2214
|
* fix: suppress future_not_send lint and tighten Send bounds魏曹先生3 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魏曹先生3 days2-73/+432
| | | | | | | | 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(shell_ctx): allow clippy const fn lint for typing_argument魏曹先生5 days1-0/+2
|
* refactor: simplify macro parsing code and fix clippy warnings魏曹先生5 days1-4/+4
|
* refactor(asset): replace wildcard match with explicit variants魏曹先生5 days2-4/+4
|
* refactor(core): improve code style and public API clarity魏曹先生5 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
* fix(core): write RenderResult::eprintln to stderr魏曹先生10 days1-1/+1
| | | | | Fix the method to use `eprintln!` instead of `println!` when `immediate_output` is enabled, ensuring error output goes to stderr.
* feat(flags): derive PartialEq and Eq for ShellFlag魏曹先生11 days1-1/+1
|
* docs: document completion description support魏曹先生11 days1-24/+71
| | | | | Update changelog and issue tracker notes for the enhanced `default_completion` behavior.
* refactor(metadata): move metadata module to core crate魏曹先生11 days3-0/+62
|
* chore(core): merge custom completions with defaults魏曹先生11 days1-1/+15
| | | | | | | When a concrete entry's custom completion handler produces a `Suggest` value, combine it with the default subcommand suggestions instead of replacing them entirely. `FileCompletion` still falls back to the default completion since it cannot be meaningfully merged.
* feat: add entry metadata system with compile-time typed values魏曹先生11 days4-0/+28
| | | | | | | | | | | 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.
* feat: prioritize default completion over empty fallback魏曹先生12 days1-1/+5
|
* feat(comp): add prefix and suffix methods to Suggest魏曹先生12 days1-0/+66
|
* fix(core): resolve subcommands after global parameters魏曹先生12 days1-13/+58
| | | | Fix command tree matching when global flags precede the subcommand.
* chore: add EntryFallback completion support魏曹先生12 days1-1/+3
| | | | | | Add `#[completion(EntryFallback)]` syntax to enable custom completion suggestions for unmatched entries, merging fallback results with default completions via `Suggest::combine()`.
* fix: rename dispatcher_not_found to entry_fallback魏曹先生12 days1-4/+3
|
* chore!: rename ErrorDispatcherNotFound to EntryFallback魏曹先生12 days5-9/+9
| | | | | | | | 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.
* fix(shell-ctx): distinguish missing -F from empty flag魏曹先生12 days1-2/+8
| | | | | | Previously, an absent -F and a present -F without a value both mapped to "unknown". Now, a -F with no value maps to an empty shell flag, while a missing -F remains "unknown".
* docs(build): update build feature documentation魏曹先生12 days1-6/+49
| | | | | Document build-time features, feature pairing, and add a `build.rs` template for easily setting up `comp` and `pathf`.
* feat(build): document build module and refine feature exports魏曹先生12 days4-16/+34
| | | | | Add module-level docs for the build module via include_str and restrict public re-exports to explicit items instead of glob imports.
* feat(shell_ctx): replace manual arg parsing with macro魏曹先生13 days1-33/+9
| | | | | Use the `special_argument!` macro to simplify extracting shell context values from command-line arguments.
* feat(core): add batch methods to Suggest and update macro魏曹先生13 days1-0/+36
| | | | | | | | | Add `add_suggest()` and `add_suggest_with_description()` methods to `Suggest` for ergonomic batch population of suggestion sets from collections of strings. Update the `suggest!` macro to use these new methods and accept expressions beyond string literals for suggestion items.
* refactor!: rename `extra_macros` feature to `extras`feat/new-pipeline-model魏曹先生13 days1-1/+1
| | | | | Update all references across docs, examples, and configuration files to use the shorter `extras` feature name.
* chore: reduce visibility of debug module魏曹先生13 days1-1/+1
|
* feat(core/comp): add Suggest::combine method for merging suggestions魏曹先生2026-07-291-0/+15
|
* feat(renderer): add exit_process method to RenderResult魏曹先生2026-07-281-1/+19
|
* feat(renderer): add ExitCode conversions for RenderResult魏曹先生2026-07-281-0/+13
|
* refactor(once_exec, repl_exec): unify sync and async execution paths魏曹先生2026-07-242-211/+109
|
* feat(core): consolidate sync/async exec pipeline with `might_be_async`魏曹先生2026-07-241-173/+4
| | | | | | | Replace manual `#[cfg(feature = "async")]` code duplication in `exec` and `exec_with_args` with `#[might_be_async::func]` annotations and `might_be_async::invoke!()` wrappers, reducing two code paths to one.
* feat(core): add RendererInvoker and ChainInvoker types魏曹先生2026-07-243-0/+273
|
* docs: enable missing_docs lint and add doc comments to comp.rs魏曹先生2026-07-242-2/+55
|
* refactor(core): rename ResourceMarker methods to internal names魏曹先生2026-07-243-26/+41
|
* feat(core): rename `builds` feature to `build`魏曹先生2026-07-238-94/+99
| | | | | | | Replace the `builds` feature with `build` across the crate, keeping a backward-compatible alias for the old name. Update all internal visibility from `#[doc(hidden)] pub mod` to `pub(crate) mod` and reorganize the `__private` module into a dedicated `private.rs`.
* refactor(global_resource): break long generic impl into multi-line where魏曹先生2026-07-221-1/+4
| | | | clause
* docs(core): add Clone and Eq derives to RenderResult魏曹先生2026-07-221-1/+1
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生2026-07-214-15/+138
| | | | | | | | | | fields Declare `Grouped` as `unsafe trait` to make its soundness invariant visible. Make `AnyOutput.type_id` and `member_id` private; add public accessors and the `unsafe fn new_bare` constructor.
* feat(core): add generic parameter `C` to `StructuralData` trait魏曹先生2026-07-213-8/+24
| | | | | | | Make `StructuralData` and `StructuralDataSealed` generic over a program collector type to bypass the orphan rule for `group_structural!`. This enables external types to implement `StructuralData<crate::ThisProgram>` without violating coherence.
* feat(core): add From impl for RenderResult with closure coercion魏曹先生2026-07-211-1/+10
|