aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* chore(lints): mark auto-generated files with disclaimer魏曹先生19 hours2-0/+4
|
* fix: use `rust-analyzer.toml` instead of hardcoded `.rust-analyzer.toml`魏曹先生19 hours1-3/+2
|
* ci(ci): Move .temp cleanup closer to deployment step魏曹先生21 hours1-3/+5
|
* feat(ci): clean .temp directory before building API docs魏曹先生21 hours1-0/+3
|
* fix(docs): rename `builds` feature to `build` in examples魏曹先生21 hours4-7/+18
|
* feat(core): rename `builds` feature to `build`魏曹先生21 hours19-107/+127
| | | | | | | 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`.
* chore: mark clippy.sh as executable魏曹先生21 hours1-0/+0
|
* feat(ci): add API documentation build step魏曹先生22 hours1-0/+11
|
* refactor(global_resource): break long generic impl into multi-line where魏曹先生22 hours1-1/+4
| | | | clause
* feat(linter): set exit code to 1 when config already exists魏曹先生22 hours1-1/+4
|
* feat(linter): add `lint-install` subcommand for rust-analyzer setup魏曹先生23 hours8-10/+555
|
* feat(doc): replace deploy-api-docs script with direct cargo commands魏曹先生25 hours5-10/+25
|
* feat: add `doc_cfg` feature for docs.rs build魏曹先生25 hours1-0/+1
|
* chore: rename `doc_nightly` scripts to `doc-nightly`魏曹先生25 hours2-0/+0
|
* ci: use nightly toolchain for API doc generation魏曹先生25 hours1-1/+4
| | | | Switch to nightly toolchain and add --docsrs flag to build API docs.
* feat(docs): add docsrs flag and unify doc scripts魏曹先生25 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魏曹先生25 hours3-14/+45
|
* docs(core): add Clone and Eq derives to RenderResult魏曹先生26 hours2-1/+8
|
* docs: add development status warning to README魏曹先生27 hours1-0/+2
|
* refactor(mlint): parallelise lint checks with tokio JoinSet魏曹先生28 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魏曹先生29 hours2-2/+2
| | | | Update repository URLs to use underscore instead of hyphen
* feat(mingling_cli): add wrapper binary and optimize release profile魏曹先生29 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魏曹先生2 days1-1121/+0
|
* feat(mlint): support multiple suggestions per report魏曹先生2 days3-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魏曹先生2 days1-1/+1
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生2 days15-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魏曹先生2 days1-0/+10
|
* docs: remove outdated about_lint design doc魏曹先生2 days1-35/+0
|
* feat(linter): add ResUsingJson flag to rust-analyzer handlers魏曹先生2 days1-4/+19
|
* feat(linter): add aliases for Rust Analyzer lint commands魏曹先生2 days1-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魏曹先生2 days1-0/+1
|
* feat(lint): add non_mingling_naming_style lint with auto-fix suggestions魏曹先生2 days6-26/+454
| | | | | Support file-level lint checks via `check_file` in lint registry template.
* feat(lints): add quote dependency and improve variable name detection魏曹先生2 days5-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魏曹先生2 days4-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魏曹先生2 days2-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魏曹先生2 days1-4/+14
| | | | Group dependencies by purpose with inline comments for clarity
* feat(mling): add linter framework with async support and registry魏曹先生2 days24-31/+2746
| | | | generation
* fix: qualify `render` call as `ProgramCollect::render` in error path魏曹先生2 days1-1/+1
|
* feat(macros): add `#[mlint(...)]` marker attribute macro魏曹先生3 days3-0/+35
|
* feat(macros): add render_route macro and renderify attribute for render魏曹先生3 days5-0/+175
| | | | pipeline error routing
* feat(mingling_cli): add metadata and linter commands with cargo analysis魏曹先生3 days11-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魏曹先生3 days1-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魏曹先生3 days13-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魏曹先生3 days8-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魏曹先生3 days1-1/+8
| | | | patterns
* feat(core): add From impl for RenderResult with closure coercion魏曹先生3 days2-1/+31
|
* feat(core, macros): add r_append! macro and RenderResult::append_other魏曹先生3 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魏曹先生3 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魏曹先生3 days2-30/+12
|
* feat(core)!: replace RenderResult with buffered output model魏曹先生3 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.