chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt

This commit is contained in:
Selfhosting Dev
2025-09-17 07:43:07 +09:00
parent fcf8ce1f3c
commit adbb0201a9
385 changed files with 35622 additions and 15004 deletions

View File

@ -3,26 +3,51 @@ use std::path::PathBuf;
/// Minimal task runner: read nyash.toml [env] and [tasks], run the named task via shell
pub(super) fn run_named_task(name: &str) -> Result<(), String> {
let cfg_path = "nyash.toml";
let text = std::fs::read_to_string(cfg_path).map_err(|e| format!("read {}: {}", cfg_path, e))?;
let doc = toml::from_str::<toml::Value>(&text).map_err(|e| format!("parse {}: {}", cfg_path, e))?;
let text =
std::fs::read_to_string(cfg_path).map_err(|e| format!("read {}: {}", cfg_path, e))?;
let doc =
toml::from_str::<toml::Value>(&text).map_err(|e| format!("parse {}: {}", cfg_path, e))?;
// Apply [env]
if let Some(env_tbl) = doc.get("env").and_then(|v| v.as_table()) {
for (k, v) in env_tbl.iter() {
if let Some(s) = v.as_str() { std::env::set_var(k, s); }
if let Some(s) = v.as_str() {
std::env::set_var(k, s);
}
}
}
// Lookup [tasks]
let tasks = doc.get("tasks").and_then(|v| v.as_table()).ok_or("[tasks] not found in nyash.toml")?;
let cmd = tasks.get(name).and_then(|v| v.as_str()).ok_or_else(|| format!("task '{}' not found", name))?;
let tasks = doc
.get("tasks")
.and_then(|v| v.as_table())
.ok_or("[tasks] not found in nyash.toml")?;
let cmd = tasks
.get(name)
.and_then(|v| v.as_str())
.ok_or_else(|| format!("task '{}' not found", name))?;
// Basic variable substitution
let root = std::env::current_dir().unwrap_or(PathBuf::from(".")).display().to_string();
let root = std::env::current_dir()
.unwrap_or(PathBuf::from("."))
.display()
.to_string();
let cmd = cmd.replace("{root}", &root);
// Run via shell
#[cfg(windows)]
let status = std::process::Command::new("cmd").args(["/C", &cmd]).status().map_err(|e| e.to_string())?;
let status = std::process::Command::new("cmd")
.args(["/C", &cmd])
.status()
.map_err(|e| e.to_string())?;
#[cfg(not(windows))]
let status = std::process::Command::new("sh").arg("-lc").arg(&cmd).status().map_err(|e| e.to_string())?;
if !status.success() { return Err(format!("task '{}' failed with status {:?}", name, status.code())); }
let status = std::process::Command::new("sh")
.arg("-lc")
.arg(&cmd)
.status()
.map_err(|e| e.to_string())?;
if !status.success() {
return Err(format!(
"task '{}' failed with status {:?}",
name,
status.code()
));
}
Ok(())
}