aboutsummaryrefslogtreecommitdiff
path: root/mling/src/proj_mgr/show_binaries.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-20 15:29:22 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-20 15:29:22 +0800
commit62e323c80306d7dca68e47377a0ed6f4e146ba48 (patch)
tree0c6fe91d7197c83af52b08f793d12b0f01646d7d /mling/src/proj_mgr/show_binaries.rs
parent33da7c8cb4f24caeef4e8127bc484bc9d236a0f3 (diff)
feat: remove deprecated mling scaffolding tool
The mling CLI tool is being rewritten, so remove all its source files, resources, and workspace membership to clean up the repository
Diffstat (limited to 'mling/src/proj_mgr/show_binaries.rs')
-rw-r--r--mling/src/proj_mgr/show_binaries.rs78
1 files changed, 0 insertions, 78 deletions
diff --git a/mling/src/proj_mgr/show_binaries.rs b/mling/src/proj_mgr/show_binaries.rs
deleted file mode 100644
index b08c1c3..0000000
--- a/mling/src/proj_mgr/show_binaries.rs
+++ /dev/null
@@ -1,78 +0,0 @@
-use std::path::PathBuf;
-
-use colored::Colorize;
-use mingling::{
- Grouped, RenderResult, Routable,
- macros::{chain, pack, renderer},
-};
-use serde::Serialize;
-use std::io::Write as _;
-
-use crate::{
- Next,
- proj_mgr::{
- EntryShowBinaries,
- metadata::{CargoLockFile, read_metadata},
- },
- res::ResManifestPath,
-};
-
-#[derive(Serialize, Grouped)]
-pub struct ResultBinaries {
- pub binaries: Vec<DataBinary>,
-}
-
-#[derive(Serialize)]
-pub struct DataBinary {
- pub name: String,
- pub path: PathBuf,
-}
-
-#[chain]
-pub fn handle_show_binaries(_args: EntryShowBinaries, manifest_path: &ResManifestPath) -> Next {
- let metadata = read_metadata(manifest_path.resolved()).unwrap();
- let CargoLockFile {
- packages,
- workspace_members,
- ..
- } = metadata;
-
- let binaries: Vec<DataBinary> = packages
- .into_iter()
- .filter(|pkg| workspace_members.contains(&pkg.id))
- .flat_map(|pkg| {
- pkg.targets
- .into_iter()
- .filter(|target| target.kind.iter().any(|k| k == "bin"))
- .map(move |target| DataBinary {
- name: target.name,
- path: PathBuf::from(pkg.manifest_path.clone())
- .parent()
- .unwrap_or(&PathBuf::from("."))
- .join("src")
- .join(&target.src_path),
- })
- })
- .collect();
-
- ResultBinaries { binaries }.to_render()
-}
-
-#[renderer]
-pub fn render_binaries(binaries: ResultBinaries) -> RenderResult {
- let mut result = RenderResult::default();
- writeln!(result, "{}", "Binaries:".bright_cyan().bold()).ok();
- if let Some(max_name_len) = binaries.binaries.iter().map(|b| b.name.len()).max() {
- for binary in &binaries.binaries {
- writeln!(
- result,
- " {:width$} `{}`",
- binary.name.bright_yellow().bold(),
- binary.path.display().to_string().italic(),
- width = max_name_len
- )
- .ok();
- }
- }
- result
-}