diff --git a/arbiter-app/src/main.rs b/arbiter-app/src/main.rs index e37be8c..abaf64e 100644 --- a/arbiter-app/src/main.rs +++ b/arbiter-app/src/main.rs @@ -30,7 +30,7 @@ impl ArbiterRollingWriter { impl std::io::Write for ArbiterRollingWriter { fn write(&mut self, buf: &[u8]) -> std::io::Result { let now = chrono::Local::now(); - let filename = format!("arbiter.{}.log", now.format("%Y-%m-%d")); + let filename = format!("arbiter.{log_time}.log", log_time = now.format("%Y-%m-%d")); let path = self.base_dir.join(filename); if let Some(parent) = path.parent() { @@ -85,8 +85,8 @@ async fn main() -> Result<(), Box> { " ); info!( - "Arbiter Engine: booting version {}", - env!("CARGO_PKG_VERSION") + "Arbiter Engine: booting version {version}", + version = env!("CARGO_PKG_VERSION") ); let filter = ArbiterFilter::new(); @@ -210,10 +210,7 @@ async fn main() -> Result<(), Box> { (1920, 1080) } }; - info!( - "Runner: mapping display boundaries to {}x{}", - screen_width, screen_height - ); + info!("Runner: mapping display boundaries to {screen_width}x{screen_height}",); arbiter_bridge::runner::spawn(exec_cmd_rx, screen_width, screen_height, filter.clone()); // Signet config is loaded fresh on every execution via signet::load(). diff --git a/arbiter-bridge/src/hand.rs b/arbiter-bridge/src/hand.rs index 0f72f0c..8f95ba8 100644 --- a/arbiter-bridge/src/hand.rs +++ b/arbiter-bridge/src/hand.rs @@ -143,8 +143,9 @@ impl HardwareBridge { fn validate_coordinate(&self, x: i32, y: i32) -> Result<(), String> { if x < 0 || x > self.screen_width || y < 0 || y > self.screen_height { let msg = format!( - "Hardware Guard: ({x}, {y}) outside monitor bounds ({}×{})", - self.screen_width, self.screen_height + "Hardware Guard: ({x}, {y}) outside monitor bounds ({w}x{h})", + w = self.screen_width, + h = self.screen_height ); warn!(%msg, "Hand: coordinate rejected"); return Err(msg); diff --git a/arbiter-bridge/src/inscribe.rs b/arbiter-bridge/src/inscribe.rs index 6f4b1d2..a07d8df 100644 --- a/arbiter-bridge/src/inscribe.rs +++ b/arbiter-bridge/src/inscribe.rs @@ -190,7 +190,10 @@ pub fn dry_run_walk(root: &Path, pattern: &str) -> DryRunReport { let path_str = path.to_string_lossy().to_lowercase(); if path_str.contains("windows") || path_str.contains("system32") { - warnings.push(format!("System-critical path detected: {}", path.display())); + warnings.push(format!( + "System-critical path detected: {path_name}", + path_name = path.display() + )); } debug!(path = %path.display(), "Dry-run: would affect"); diff --git a/arbiter-bridge/src/runner.rs b/arbiter-bridge/src/runner.rs index 0da9ce6..e586db0 100644 --- a/arbiter-bridge/src/runner.rs +++ b/arbiter-bridge/src/runner.rs @@ -225,7 +225,7 @@ pub fn spawn( if let ActionType::Wait(ms) = action.action_type { if dry_run { - info!("[DRY-RUN] Would wait for {} ms (execution bypassed)", ms); + info!("[DRY-RUN] Would wait for {ms} ms (execution bypassed)"); } else { tokio::time::sleep(std::time::Duration::from_millis(ms)).await; } @@ -349,8 +349,8 @@ pub fn spawn( error!(%e, id = %node.id, "Runner: action failed"); let _ = event_tx .send(RunEvent::Panic(format!( - "Step '{}' failed: {}", - node.label, e + "Step '{label}' failed: {e}", + label = node.label ))) .await; break; diff --git a/arbiter-core/src/atlas.rs b/arbiter-core/src/atlas.rs index 07081bd..146d6d0 100644 --- a/arbiter-core/src/atlas.rs +++ b/arbiter-core/src/atlas.rs @@ -133,7 +133,7 @@ impl Atlas { }; if !filename.is_empty() { - let path_prefix = format!("FileCreated|{}|", watch_path.display()); + let path_prefix = format!("FileCreated|{path}|", path = watch_path.display()); for (reg_key, reg_ord) in &self.registry { if reg_key.starts_with(&path_prefix) { @@ -178,7 +178,7 @@ impl Atlas { if self.state == EngineState::Idle { return; } - info!("Atlas: {}", reason); + info!("Atlas: {reason}"); if let Some(tx) = self.active_abort.take() { let _ = tx.send(()); } @@ -411,7 +411,7 @@ impl Atlas { let _ = log_broadcast.send(LogEntry { time: chrono::Utc::now().to_rfc3339(), tag: "ATLAS".into(), - message: format!("Decree '{}' registered and saved.", def.label), + message: format!("Decree '{label}' registered and saved.", label = def.label), is_error: false, decree_id: Some(def.id.0.clone()), }); @@ -446,7 +446,7 @@ impl Atlas { let _ = log_broadcast.send(LogEntry { time: chrono::Utc::now().to_rfc3339(), tag: "VIGIL".into(), - message: format!("Conservatory Wards updated ({} active).", ledger.wards.len()), + message: format!("Conservatory Wards updated ({count} active).", count = ledger.wards.len()), is_error: false, decree_id: None, }); @@ -503,7 +503,7 @@ impl Atlas { let key = match removed.summons { crate::ledger::SummonsDef::FileCreated { ward_id, pattern, .. } => { - format!("FileCreated|{}|{}", normalize_windows_path(&ward_id), pattern) + format!("FileCreated|{path}|{pattern}", path = normalize_windows_path(&ward_id)) } crate::ledger::SummonsDef::Hotkey { combo } => format!("Hotkey|{combo}"), crate::ledger::SummonsDef::ProcessAppeared { name } => format!("ProcessAppeared|{name}"), diff --git a/arbiter-core/src/decree.rs b/arbiter-core/src/decree.rs index a5c375a..272351d 100644 --- a/arbiter-core/src/decree.rs +++ b/arbiter-core/src/decree.rs @@ -176,8 +176,8 @@ impl<'de> serde::Deserialize<'de> for DecreeNode { "Entry" => NodeState::Empty, _ => { return Err(serde::de::Error::custom(format!( - "Unknown node kind: {}", - raw.kind + "Unknown node kind: {kind}", + kind = raw.kind ))) } }; @@ -264,7 +264,7 @@ impl Summons { watch_path, pattern, .. - } => format!("FileCreated|{}|{}", watch_path.display(), pattern), + } => format!("FileCreated|{path}|{pattern}", path = watch_path.display()), #[cfg(feature = "vigil-keys")] Self::Hotkey { combo, .. } => format!("Hotkey|{combo}"), #[cfg(feature = "vigil-clipboard")] @@ -519,7 +519,7 @@ fn compute_sha256(path: &PathBuf) -> Option { hasher.update(&buffer[..n]); } - Some(format!("{:x}", hasher.finalize())) + Some(format!("{hash:x}", hash = hasher.finalize())) } #[cfg(not(feature = "vigil-deep"))] diff --git a/arbiter-core/src/ledger.rs b/arbiter-core/src/ledger.rs index 233c7a5..defb25d 100644 --- a/arbiter-core/src/ledger.rs +++ b/arbiter-core/src/ledger.rs @@ -233,8 +233,8 @@ impl DecreeDef { for (port, target_id) in &node.next_nodes { if !node_ids.contains(target_id) { return Err(format!( - "Node '{}' transition '{}' points to non-existent node '{}'", - node.label, port, target_id + "Node '{label}' transition '{port}' points to non-existent node '{target_id}'", + label = node.label )); } } diff --git a/arbiter-core/src/vigil.rs b/arbiter-core/src/vigil.rs index 38088b4..02a3f86 100644 --- a/arbiter-core/src/vigil.rs +++ b/arbiter-core/src/vigil.rs @@ -300,7 +300,7 @@ pub mod fs { }; let debounce_sig = - format!("{}|{}", summons.to_registry_key(), filename); + format!("{key}|{filename}", key = summons.to_registry_key()); let path_str_check = path_str.clone(); let tx_clone = tx.clone(); @@ -476,7 +476,7 @@ pub mod keys { if let Some((combo, sum_tx)) = senders.get(&event.id) { let mut context = super::EnvContext::new(); context.insert("hotkey_combo", combo); - context.insert("timestamp", &format!("{}", std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap_or_default().as_secs())); + context.insert("timestamp", &format!("{secs}", secs = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap_or_default().as_secs())); context.insert("timestamp_local", &chrono::Local::now().format("%m/%d/%Y %I:%M %p").to_string()); let summons = super::Summons::Hotkey { combo: combo.clone(), @@ -607,8 +607,8 @@ pub mod clipboard { context.insert( "timestamp", &format!( - "{}", - std::time::SystemTime::now() + "{secs}", + secs = std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) .unwrap_or_default() .as_secs() diff --git a/arbiter-core/src/vigil/sys.rs b/arbiter-core/src/vigil/sys.rs index 92def0e..a029983 100644 --- a/arbiter-core/src/vigil/sys.rs +++ b/arbiter-core/src/vigil/sys.rs @@ -46,8 +46,8 @@ pub fn spawn_watcher( context.insert( "timestamp", &format!( - "{}", - std::time::SystemTime::now() + "{secs}", + secs = std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) .unwrap_or_default() .as_secs() diff --git a/arbiter-forge/src/main.rs b/arbiter-forge/src/main.rs index d90597f..f9e0b86 100644 --- a/arbiter-forge/src/main.rs +++ b/arbiter-forge/src/main.rs @@ -36,7 +36,7 @@ fn generate_decree_id(label: &str) -> String { .collect(); if slug.is_empty() { - format!("id-{}", CTR.fetch_add(1, Ordering::Relaxed)) + format!("id-{id}", id = CTR.fetch_add(1, Ordering::Relaxed)) } else { slug } @@ -202,7 +202,7 @@ fn next_new_decree_label() -> String { } } }); - format!("New Decree {}", max_n + 1) + format!("New Decree {n}", n = max_n + 1) } fn sync_ledger_to_ui() { @@ -779,7 +779,7 @@ async fn main() -> Result<(), Box> { { use std::io::Write; use std::process::{Command, Stdio}; - info!("Copying to clipboard: {}", text); + info!("Copying to clipboard: {text}"); if let Ok(mut child) = Command::new("clip").stdin(Stdio::piped()).spawn() { if let Some(mut stdin) = child.stdin.take() { let _ = stdin.write_all(text.as_bytes());