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/pkg_mgr/cmd_pkg_enable.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/pkg_mgr/cmd_pkg_enable.rs')
| -rw-r--r-- | mingling_cli/src/pkg_mgr/cmd_pkg_enable.rs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/mingling_cli/src/pkg_mgr/cmd_pkg_enable.rs b/mingling_cli/src/pkg_mgr/cmd_pkg_enable.rs index b545a4d..8f6a234 100644 --- a/mingling_cli/src/pkg_mgr/cmd_pkg_enable.rs +++ b/mingling_cli/src/pkg_mgr/cmd_pkg_enable.rs @@ -1,20 +1,18 @@ use std::{fs, io}; use mingling::{ - Grouped, Routable, ShellContext, Suggest, SuggestItem, - macros::{ - arg, buffer, chain, command, completion, metadata, pack, pack_err, r_println, renderer, - routeify, - }, + Grouped, RenderResult, Routable, ShellContext, Suggest, SuggestItem, + macros::{arg, chain, command, completion, metadata, pack, pack_err, renderer, routeify}, metadata::Description, picker::{EntryPicker, PickerArg}, }; use crate::{ - Next, + Next, eprintln_cargo, pkg_mgr::{ ErrorNoDataDirectory, ErrorPackageNameRequired, ErrorPackageSpecInvalid, ResPackagesDir, }, + println_cargo, }; /// Positional argument: package spec (`foo`, `foo@0`, `foo@0.1`, `foo@0.1.2`) @@ -102,9 +100,18 @@ pub fn handle_state_pkg_enable(p: StatePkgEnable, packages_dir: &ResPackagesDir) ResultPkgEnable { name, version }.to_chain() } -#[renderer(buffer)] -pub fn render_result_pkg_enable(r: ResultPkgEnable) { - r_println!("Enabled {}@{}", r.name, r.version); +#[renderer] +pub fn render_result_pkg_enable(result: ResultPkgEnable) -> RenderResult { + let mut r = RenderResult::new(); + println_cargo!(r, "Enabled: {}@{}", result.name, result.version); + r +} + +#[renderer] +pub fn render_error_no_matching_version(err: ErrorNoMatchingVersion) -> RenderResult { + let mut r = RenderResult::new(); + eprintln_cargo!(r, "no matching version for: {}", err.info); + r } #[completion(EntryPkgEnable)] |
