aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(doc): replace deploy-api-docs script with direct cargo commands魏曹先生9 hours5-10/+25
|
* feat: add `doc_cfg` feature for docs.rs build魏曹先生9 hours1-0/+1
|
* chore: rename `doc_nightly` scripts to `doc-nightly`魏曹先生9 hours2-0/+0
|
* ci: use nightly toolchain for API doc generation魏曹先生9 hours1-1/+4
| | | | Switch to nightly toolchain and add --docsrs flag to build API docs.
* feat(docs): add docsrs flag and unify doc scripts魏曹先生9 hours5-15/+27
| | | | | Migrate existing doc scripts to call the deploy-api-docs tool, and add nightly variants that build with --cfg docsrs
* feat(ci): replace manual arg parsing with arg-picker魏曹先生9 hours3-14/+45
|
* docs(core): add Clone and Eq derives to RenderResult魏曹先生10 hours2-1/+8
|
* docs: add development status warning to README魏曹先生11 hours1-0/+2
|
* refactor(mlint): parallelise lint checks with tokio JoinSet魏曹先生11 hours1-28/+41
| | | | | | Move file I/O and AST parsing into spawn_blocking closures to avoid blocking the async runtime, enabling concurrent processing of multiple Rust source files.
* fix: correct repository path in Cargo.toml filespicker-0.1.0魏曹先生13 hours2-2/+2
| | | | Update repository URLs to use underscore instead of hyphen
* feat(mingling_cli): add wrapper binary and optimize release profile魏曹先生13 hours3-0/+57
| | | | | Add `mling` wrapper binary that delegates to `mingling-cli`, enabling separate binary names while maintaining Cargo conventions.
* chore: remove expanded macro test file魏曹先生32 hours1-1121/+0
|
* feat(mlint): support multiple suggestions per report魏曹先生32 hours3-9/+228
| | | | | | | | | Replace the single optional `suggestion` field with a `Vec<LintSuggestion>` to allow multiple automatic fix suggestions per lint report BREAKING CHANGE: The `suggestion` field has been replaced by `suggestions`
* fix: update placeholder author name in template linter docs魏曹先生33 hours1-1/+1
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生34 hours15-37/+219
| | | | | | | | | | 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.
* docs(changelog): add Mingling 0.3.0 release notes魏曹先生35 hours1-0/+10
|
* docs: remove outdated about_lint design doc魏曹先生36 hours1-35/+0
|
* feat(linter): add ResUsingJson flag to rust-analyzer handlers魏曹先生36 hours1-4/+19
|
* feat(linter): add aliases for Rust Analyzer lint commands魏曹先生36 hours1-2/+37
| | | | | | Add dispatcher aliases `ra-lint`, `ra-lint-clippy`, and `ra-lint-check` that forward to the existing linter with preset flags for JSON output and optional checkers
* fix(lint): add missing blank line in test module魏曹先生36 hours1-0/+1
|
* feat(lint): add non_mingling_naming_style lint with auto-fix suggestions魏曹先生36 hours6-26/+454
| | | | | Support file-level lint checks via `check_file` in lint registry template.
* feat(lints): add quote dependency and improve variable name detection魏曹先生37 hours5-48/+42
| | | | | | Use `quote` token stream matching instead of debug formatting to detect variable references in `unnecessary_render_result_creation`, fixing false positives from string-based matching.
* feat: add testing macros and unit tests for linters魏曹先生37 hours4-0/+129
| | | | | | Add `assert_detected!` and `assert_not_detected!` macros to simplify writing lint tests, along with initial test coverage for the unnecessary render result creation linter.
* feat(mlint): support RenderResult::default and ::from detection魏曹先生37 hours2-24/+39
| | | | | | | | | Extend the `unnecessary_render_result_creation` lint to also flag uses of `RenderResult::default()` and `RenderResult::from(...)`, and add `#[derive(Default)]` to `MlintReport` and `MlintLevel` to simplify struct instantiation
* chore(Cargo.toml): reorganize dependencies and add section comments魏曹先生38 hours1-4/+14
| | | | Group dependencies by purpose with inline comments for clarity
* feat(mling): add linter framework with async support and registry魏曹先生38 hours24-31/+2746
| | | | generation
* fix: qualify `render` call as `ProgramCollect::render` in error path魏曹先生43 hours1-1/+1
|
* feat(macros): add `#[mlint(...)]` marker attribute macro魏曹先生44 hours3-0/+35
|
* feat(macros): add render_route macro and renderify attribute for render魏曹先生45 hours5-0/+175
| | | | pipeline error routing
* feat(mingling_cli): add metadata and linter commands with cargo analysis魏曹先生46 hours11-28/+378
| | | | | Introduce `metadata` and `mlint` subcommands, wire up `cargo_metadata` for manifest analysis, and enable procedural macro support in editors
* refactor(chain): replace Into turbofish with Routable::to_chain魏曹先生46 hours1-13/+9
| | | | | | | | Remove the `origin_return_type` parameter and replace the generic `Into` conversion with a direct call to `Routable::<#program_type>::to_chain`. For non-unit returns, also wrap the function call expression in `to_chain()` upfront to satisfy the `ChainProcess<C>` requirement of `__modify_res_and_return_route`.
* feat(pathf): add foreign item support with is_foreign flag魏曹先生47 hours13-115/+202
| | | | | | | | | | Add `AnalyzeItem::foreign()` and `AnalyzeItem::local()` constructors to distinguish items resolved via `use` imports from local definitions. Update `GroupPattern` to collect use imports at file and module levels, resolving `group!(TypeName)` against them. Migrate all pattern implementations to use the new constructors, and adjust `type_mapping_builder` to skip the file's own module prefix for foreign items.
* feat(core): add generic parameter `C` to `StructuralData` trait魏曹先生47 hours8-20/+60
| | | | | | | 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.
* fix: detect both opening and closing bracket forms for attribute macro魏曹先生2 days1-1/+8
| | | | patterns
* feat(core): add From impl for RenderResult with closure coercion魏曹先生2 days2-1/+31
|
* feat(core, macros): add r_append! macro and RenderResult::append_other魏曹先生2 days5-0/+145
| | | | | | | Implement `RenderResult::append_other()` to merge buffered content and immediate output behavior from one result into another. Add the `r_append!` macro with both explicit buffer (`dst, src`) and implicit buffer (`src`) usage forms, re-exported from `mingling::prelude`.
* feat(core): return `&mut Self` from builder methods魏曹先生2 days5-5/+39
| | | | | Enables method chaining for `with_resource`, `with_dispatcher`, `with_dispatchers`, `with_hook`, and `with_setup`
* fix(core): delegate stdout flushing to RenderResult::std_print魏曹先生2 days2-30/+12
|
* feat(core)!: replace RenderResult with buffered output model魏曹先生2 days13-86/+525
| | | | | | | | | | Remove `Deref<Target=str>` and `render_text:String` in favor of `render_buffer:Vec<(String, RenderResultMode)>` and an `immediate_output` flag. Add `RenderResultMode` enum, `r_eprint!`/`r_eprintln!` macros, and new buffer manipulation methods (`append_to_buffer`, `eprint`, etc.). Update `Display` to trim output and remove trailing newline. Migrate all callers and tests away from `Deref` usage.
* fix(patterns): broaden pattern detection to cover both bracketed forms魏曹先生2 days5-5/+8
|
* feat(mingling_cli): add scaffold for CLI tool魏曹先生3 days5-42/+176
| | | | | Add initial project structure for the mingling-cli scaffolding tool, including Cargo manifest and entry point
* feat: remove deprecated mling scaffolding tool魏曹先生3 days35-2343/+1
| | | | | The mling CLI tool is being rewritten, so remove all its source files, resources, and workspace membership to clean up the repository
* fix: conditionally compile pathf_hint based on "pathf" feature魏曹先生3 days1-0/+4
|
* chore: add missing docs lint and document public API魏曹先生3 days20-2/+196
| | | | | | | 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.
* feat(macros): add compile_error hint when pathf map is missing魏曹先生3 days1-30/+52
| | | | | | Use Option for load_pathf_map return type and emit a descriptive compile_error when the type mapping file cannot be loaded, guiding users to set up build.rs correctly
* feat(arg): add into_info conversion and flag formatting helpers魏曹先生3 days2-24/+82
| | | | | - Move PickerArg-to-PickerArgInfo conversion into an `into_info` method - Add `short_flag()` and `long_flag()` methods to PickerArgInfo
* feat(asset): deprecate with_dispatcher when dispatch_tree is enabled魏曹先生3 days1-5/+29
|
* feat: add docs_rs feature and improve documentation build魏曹先生3 days8-5/+25
| | | | | | | | Add `docs_rs` feature flag to enable docs.rs-specific configuration, including `--generate-link-to-definition` and logo display. Include the feature in build scripts, editor settings, and feature constants for consistent documentation generation.
* fix(doc): target doc generation at mingling workspace root魏曹先生3 days2-2/+10
| | | | | Use `--manifest-path mingling/Cargo.toml` instead of `--workspace` to avoid generating documentation for unintended root workspace crates
* feat(ci): add coverage test job with cargo-llvm-cov魏曹先生3 days3-1/+7
|