feat: v1.0.1, fix filter issue

This commit is contained in:
2025-01-18 18:53:30 +08:00
parent 2e4c47e936
commit 39c1d0a68c
9 changed files with 59 additions and 59 deletions

40
src/run_rs.rs Normal file
View File

@@ -0,0 +1,40 @@
use crate::{util, RunScriptArgs};
use rust_util::util_os::get_user_home;
pub fn do_run_script(rs_args: &RunScriptArgs) {
if rs_args.arguments.is_empty() {
failure_and_exit!("Must assign a script file name");
}
let script_file = &rs_args.arguments[0];
let (_, script_sha256) = util::read_file_and_digest(script_file);
debugging!("File {} -> sha256: {}", script_file, script_sha256);
let user_home = get_user_home().unwrap_or_else(|| failure_and_exit!("$HOME not found!"));
let rust_script = util::get_run_script_bin_name(&user_home);
let cache_script_bin_name = get_cache_script_bin_name(&user_home, &script_sha256);
let mut run_script_cmd = util::build_script_command(
rust_script,
script_file,
&script_sha256,
&cache_script_bin_name,
);
for arg in rs_args.arguments.iter().skip(1) {
run_script_cmd.arg(arg);
}
util::run_script_command(script_file, &cache_script_bin_name, &mut run_script_cmd)
}
fn get_cache_script_bin_name(user_home: &str, script_sha256: &str) -> String {
#[cfg(target_os = "macos")]
let cache_script_bin_name = format!(
"{}/Library/Caches/rust-script/binaries/release/{}",
user_home, script_sha256
);
// #[cfg(target_os = "linux")]
#[cfg(not(target_os = "macos"))]
let cache_script_bin_name = format!(
"{}/.cache/rust-script/binaries/release/{}",
user_home, script_sha256
);
cache_script_bin_name
}