aboutsummaryrefslogtreecommitdiff
path: root/mingling_pathf/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace build.rs with compile-time macro build steps魏曹先生2 days1-0/+2
| | | | | | | | | | | | | 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.
* refactor!: remove dynamic dispatcher registration API魏曹先生3 days1-1/+0
| | | | | | | 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).
* chore: add "Doc Not Optimize" comments to source files魏曹先生6 days1-0/+1
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* feat(pathf): enforce pedantic lints and update API ergonomics魏曹先生9 days1-0/+2
| | | | | | | | | | - 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
* chore: add missing docs lint and document public API魏曹先生2026-07-201-0/+1
| | | | | | | Add `#![deny(missing_docs)]` across multiple crates and fill in documentation for all public items, including struct fields, enum variants, trait methods, and proc macros. Also mark two shell scripts as executable.
* docs: add module-level documentation and improve doc comments魏曹先生2026-07-171-0/+3
|
* feat(pathf): add dispatch tree config and pass feature to analyzer魏曹先生2026-06-291-1/+2
| | | | | | | | Add `PathfinderConfig` struct to control dispatch tree extraction, and wire `use_dispatch_tree` through `DispatcherPattern`, `init_with_config`, and `analyze_and_build_type_mapping_for`. Expose config and wrapper from `mingling_core` under the `pathf` feature.
* feat(pathf): add build-time type path resolution system魏曹先生2026-06-281-0/+4
| | | | | | | Add `mingling_pathf` sub-crate and `pathf` feature for automatic resolution of Mingling type module paths at build time. Scans source files, identifies macro invocations via pattern matchers, and generates mapping files consumed by `gen_program!()`.
* feat(mingling_pathf): add pattern analyzer module for struct detection魏曹先生2026-06-281-0/+1
| | | | | | Add a `PatternAnalyzer` with an `AnalyzePattern` trait to detect and extract struct declarations from Rust source files, supporting nested inline modules.
* feat(mingling_pathf): add module path resolution and error handling魏曹先生2026-06-281-0/+3
| | | | | | | Introduce the core pathfinding infrastructure with `ModulePathMapping`, `MappingItem`, and `MinglingPathfinderError` types. Support recursive module traversal, `pub use` re-export hoisting, and standard Rust module resolution rules.
* feat(workspace): add mingling_pathf crate and pathf feature魏曹先生2026-06-281-0/+0