aboutsummaryrefslogtreecommitdiff
path: root/mingling_core/src
Commit message (Collapse)AuthorAgeFilesLines
* feat(core): add public ArgumentSplitter utility魏曹先生11 hours4-21/+69
| | | | | | 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魏曹先生11 hours5-23/+46
| | | | | | Change `HookPreDispatchInfo.arguments` from `&[String]` to `&mut Vec<String>` so hooks can rewrite command-line arguments before dispatch.
* feat(core): replace immediate output flag with print hook system魏曹先生11 hours1-48/+285
| | | | | | | | | Refactor `RenderResult` to support multiple user-defined print hooks via a new `RenderResultPrint` struct containing content and output mode. Add `bind_print_hook()` for custom sinks and reimplement `immediate_output()` as a built-in hook. Update manual `Clone`, `PartialEq`, `Eq`, and `Debug` implementations since hooks are opaque closures.
* docs: add StringVec documentation and usage examples魏曹先生20 hours1-1/+42
|
* docs: expand RenderResult documentation魏曹先生20 hours1-10/+92
|
* feat(core): move config types to public config module魏曹先生20 hours7-17/+47
| | | | | | | | | Refactor program configuration types into a dedicated public `config` module under `mingling_core`, making `StructuralRendererSetting` accessible via `mingling_core::config` instead of the crate root. Update all internal references and setup modules to use the new `config::` path convention.
* Remove stale comment from chain process tester魏曹先生21 hours1-1/+0
|
* chore: add doc comment for MockProgramCollect魏曹先生34 hours1-5/+24
|
* docs(metadata): expand Description documentation with examples and魏曹先生34 hours1-2/+45
| | | | details
* chore: remove stale doc comments魏曹先生35 hours8-8/+0
|
* docs(any): Expand docs for AnyOutput's methods and safety contract魏曹先生35 hours1-32/+477
|
* feat: derive Clone, Copy, PartialEq, Eq for MockProgramCollect魏曹先生35 hours1-0/+1
|
* chore: implement Debug for MockProgramCollect魏曹先生35 hours1-0/+9
|
* docs(comp): improve documentation for completion module魏曹先生35 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魏曹先生35 hours2-16/+89
|
* chore(docs): fix intra-doc link formatting魏曹先生38 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魏曹先生38 hours1-0/+6
|
* chore: add "Doc Not Optimize" comments to source files魏曹先生38 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魏曹先生38 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魏曹先生4 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魏曹先生13 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魏曹先生13 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魏曹先生13 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魏曹先生14 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魏曹先生14 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
|