From 6a907b71f945bf49d27a001f279bf116ad7297d8 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Tue, 28 Apr 2026 16:27:10 +0800 Subject: Rename refresh command to install --- mling/src/cli/install.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 mling/src/cli/install.rs (limited to 'mling/src/cli/install.rs') diff --git a/mling/src/cli/install.rs b/mling/src/cli/install.rs new file mode 100644 index 0000000..dc2cf57 --- /dev/null +++ b/mling/src/cli/install.rs @@ -0,0 +1,32 @@ +use mingling::{ + ShellContext, Suggest, + macros::{chain, completion, dispatcher, pack, suggest}, + parser::Picker, +}; + +use crate::{ThisProgram, project_installer::install_all}; + +dispatcher!("install", InstallCommand => InstallEntry); + +pack!(ResultInstallCompleted = ()); + +#[completion(InstallEntry)] +pub(crate) fn comp_install(ctx: &ShellContext) -> Suggest { + if ctx.typing_argument() { + return suggest! { + "--clean": "Clean build artifacts before installation", + "-c": "Clean build artifacts before installation", + }; + } + return suggest!(); +} + +#[chain] +pub(crate) fn handle_install_entry(prev: InstallEntry) -> NextProcess { + let is_clean_before_build = Picker::new(prev.inner) + .pick::(["--clean", "-c"]) + .unpack(); + let _ = install_all(is_clean_before_build); + + ResultInstallCompleted::new(()) +} -- cgit