diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-08 12:22:30 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-09 02:56:28 +0800 |
| commit | 60251c1432affe217f05319fd43e3dcfba8947de (patch) | |
| tree | 5693bc393ba33974bc7d5d8ec4c112218c1f6925 /mingling_cli/src/linter/cmd_explain.rs | |
| parent | 1acee9169d48d13ee0ccef6bfa1fa7348209c14a (diff) | |
refactor: migrate renderers to RenderResult and stdout macros
Replace buffer-based renderers with explicit RenderResult returns and
use cargo-styled output macros for consistency.
Diffstat (limited to 'mingling_cli/src/linter/cmd_explain.rs')
| -rw-r--r-- | mingling_cli/src/linter/cmd_explain.rs | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/mingling_cli/src/linter/cmd_explain.rs b/mingling_cli/src/linter/cmd_explain.rs index d1758e1..5346255 100644 --- a/mingling_cli/src/linter/cmd_explain.rs +++ b/mingling_cli/src/linter/cmd_explain.rs @@ -1,6 +1,6 @@ -use crate::{Next, linter::registry::ResLintRegistry}; +use crate::{Next, eprintln_cargo, linter::registry::ResLintRegistry}; use mingling::{ - Grouped, LazyRes, Routable, ShellContext, Suggest, SuggestItem, + Grouped, LazyRes, RenderResult, Routable, ShellContext, Suggest, SuggestItem, macros::{ arg, buffer, chain, completion, dispatcher, metadata, pack, pack_err, r_println, renderer, routeify, @@ -71,22 +71,29 @@ pub fn render_explain_lint(r: ResultExplainLint) { r_println!("{}", r.summary); } -#[renderer(buffer)] -pub fn render_error_no_explain_lint_provided(_: ErrorNoExplainLintProvided) { - r_println!("No lint name provided"); - r_println!(""); - r_println!("Usage: mling explain <LINT>"); +#[renderer] +pub fn render_error_no_explain_lint_provided(_: ErrorNoExplainLintProvided) -> RenderResult { + let mut r = RenderResult::new(); + eprintln_cargo!(r, "No lint name provided"); + r_println!(r, ""); + r_println!(r, "Usage: mling explain <LINT>"); + r } -#[renderer(buffer)] -pub fn render_error_no_such_lint(err: ErrorNoSuchLint, registry: &mut LazyRes<ResLintRegistry>) { +#[renderer] +pub fn render_error_no_such_lint( + err: ErrorNoSuchLint, + registry: &mut LazyRes<ResLintRegistry>, +) -> RenderResult { + let mut r = RenderResult::new(); let registry = registry.get_ref(); - r_println!("No such lint: \"{}\"", err.info); - r_println!(""); - r_println!("Available lints:"); + eprintln_cargo!(r, "No such lint: \"{}\"", err.info); + r_println!(r, ""); + r_println!(r, "Available lints:"); for entry in registry.lints.iter() { - r_println!(" {}", entry.name); + r_println!(r, " {}", entry.name); } + r } #[completion(EntryExplain)] |
