diff options
Diffstat (limited to 'crates/dinggerd/src/main.rs')
| -rw-r--r-- | crates/dinggerd/src/main.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crates/dinggerd/src/main.rs b/crates/dinggerd/src/main.rs index f458e18..285f83a 100644 --- a/crates/dinggerd/src/main.rs +++ b/crates/dinggerd/src/main.rs @@ -3,6 +3,7 @@ mod hooks; mod integrations; mod manifest_update; +mod names; mod notify; mod tmux; mod watcher; @@ -201,11 +202,13 @@ fn status() -> Result<(), String> { let since = pane.written_since.parse::<u64>().unwrap_or(u64::MAX); (std::cmp::Reverse(status.priority()), since, pane.display_target.clone()) }); - println!("{:<8} {:<10} TARGET", "STATUS", "AGENT"); - for pane in panes { + let place = |pane: &tmux::Pane| pane.display_target.replacen(':', " ยท ", 1); + let width = panes.iter().map(|pane| place(pane).chars().count()).max().unwrap_or(5).max(5); + println!("{:<8} {:<width$} {:<7} NAME", "STATUS", "WHERE", "AGENT"); + for pane in &panes { let state = if pane.written_state.is_empty() { "-" } else { &pane.written_state }; let agent = pane.agent.map(detect_core::agent_label).unwrap_or("-"); - println!("{state:<8} {agent:<10} {}", pane.display_target); + println!("{state:<8} {:<width$} {agent:<7} {}", place(pane), pane.written_name); } Ok(()) } |
