diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-07 02:25:27 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-07 02:25:27 +0800 |
| commit | 81528b273c18693ebd3f05c6f8057ff8e632f4a0 (patch) | |
| tree | 85026c27535337c0123d4650c844ae364bc9780a /mling/src/cli/read.rs | |
| parent | e41e8bda221b44d09d7e93ffc43675147ab60a6d (diff) | |
Refactor mling to use new program architecture and install scripts
Diffstat (limited to 'mling/src/cli/read.rs')
| -rw-r--r-- | mling/src/cli/read.rs | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/mling/src/cli/read.rs b/mling/src/cli/read.rs deleted file mode 100644 index e51e78f..0000000 --- a/mling/src/cli/read.rs +++ /dev/null @@ -1,78 +0,0 @@ -use colored::Colorize; -use std::path::PathBuf; - -use mingling::{ - Groupped, - macros::{chain, dispatcher, pack, r_println, renderer}, -}; -use serde::Serialize; - -use crate::{ - Next, - project_solver::{BinaryItem, solve_current_dir}, -}; - -dispatcher!("show-target-dir", ReadTargetDirCommand => ReadTargetDirEntry); -dispatcher!("show-workspace-root", ReadWorkspaceRootCommand => ReadWorkspaceRootEntry); -dispatcher!("show-binaries", ReadBinariesCommand => ReadBinariesEntry); - -pack!(ResultDir = PathBuf); -pack!(ResultTargetDirNotFound = ()); - -#[derive(Debug, Serialize, Default, Groupped)] -pub(crate) struct ResultBinaries { - bin: Vec<BinaryItem>, -} - -#[chain] -#[allow(unused_variables)] -pub(crate) fn handle_target_dir_entry(entry: ReadTargetDirEntry) -> Next { - match solve_current_dir() { - Ok(solved) => { - let dir = solved.target_dir; - ResultDir::new(dir).to_render() - } - Err(_) => ResultTargetDirNotFound::new(()).to_render(), - } -} - -#[chain] -#[allow(unused_variables)] -pub(crate) fn handle_workspace_root_entry(entry: ReadWorkspaceRootEntry) -> Next { - match solve_current_dir() { - Ok(solved) => { - let dir = solved.workspace_root; - ResultDir::new(dir).to_render() - } - Err(_) => ResultTargetDirNotFound::new(()).to_render(), - } -} - -#[chain] -#[allow(unused_variables)] -pub(crate) fn handle_binaries_entry(entry: ReadBinariesEntry) -> Next { - match solve_current_dir() { - Ok(solved) => { - let binaries = solved.binaries; - ResultBinaries { bin: binaries }.to_render() - } - Err(_) => ResultTargetDirNotFound::new(()).to_render(), - } -} - -#[renderer] -pub(crate) fn render_dir(prev: ResultDir) { - r_println!("{}", prev.inner.display()) -} - -#[renderer] -pub(crate) fn render_binaries(prev: ResultBinaries) { - for (i, item) in (1..).zip(prev.bin.iter()) { - r_println!( - "{}. {} ({})", - i.to_string(), - item.name.bold(), - item.path.to_string_lossy().underline().bright_cyan() - ); - } -} |
