From d03b085d40b104ec25bad195f9b6f85f5ec24604 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Thu, 6 Aug 2026 17:02:36 +0800 Subject: feat(cli): implement `explain` command and add JSON structural rendering Add a new `explain ` command that queries the embedded lint registry (generated by `build.rs`) and displays detailed information about a specifoic lint, including its name, title, summary, active-on target, default setting, and author. Enable the `structural_renderer` feature and add `serde`/`serde_json` dependencies to support JSON output rendering for command results. --- mingling_cli/src/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'mingling_cli/src/main.rs') diff --git a/mingling_cli/src/main.rs b/mingling_cli/src/main.rs index cb41368..da30861 100644 --- a/mingling_cli/src/main.rs +++ b/mingling_cli/src/main.rs @@ -7,9 +7,12 @@ use crate::metadata::{ }; use mingling::{ ShellContext, Suggest, - consts::HELP_FLAG, + consts::{HELP_FLAG, JSON_FLAG, JSON_PRETTY_FLAG}, macros::{completion, gen_program, help, suggest}, - setup::{ExitCodeSetup, picker::HelpFlagSetup}, + setup::{ + ExitCodeSetup, + picker::{HelpFlagSetup, StructuralRendererSetup}, + }, }; pub mod diagnostic; @@ -26,6 +29,7 @@ async fn main() { let mut program = ThisProgram::new(); // Setups + program.with_setup(StructuralRendererSetup); program.with_setup(HelpFlagSetup::default()); program.with_setup(ExitCodeSetup::default()); @@ -50,6 +54,8 @@ pub fn complete_global(_ctx: &ShellContext) -> Suggest { ARG_ALL_FEATURES: "Enable all features", ARG_NO_DEFAULT_FEATURES: "Disable default features", ARG_NO_DEPS: "Do not include dependencies in metadata", + JSON_FLAG: "Render results in JSON format", + JSON_PRETTY_FLAG: "Render results in pretty JSON format" } } -- cgit