aboutsummaryrefslogtreecommitdiff
path: root/crates/dinggerd/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/dinggerd/src')
-rw-r--r--crates/dinggerd/src/main.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/crates/dinggerd/src/main.rs b/crates/dinggerd/src/main.rs
index 0ace3a9..2881d4a 100644
--- a/crates/dinggerd/src/main.rs
+++ b/crates/dinggerd/src/main.rs
@@ -468,10 +468,12 @@ fn status() -> Result<(), String> {
});
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} {:>8} {:>4} NAME", "STATUS", "WHERE", "AGENT", "COST", "CTX");
+ let label = |pane: &tmux::Pane| pane.agent.map(detect_core::agent_label).unwrap_or("-");
+ let agents = panes.iter().map(|pane| label(pane).chars().count()).max().unwrap_or(5).max(5);
+ println!("{:<8} {:<width$} {:<agents$} {:>8} {:>4} NAME", "STATUS", "WHERE", "AGENT", "COST", "CTX");
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("-");
+ let agent = label(pane);
let draft = if watcher::forgotten_draft(pane) { "✎ " } else { "" };
let name = match importance::Importance::from_option(&pane.written_importance) {
importance::Importance::High => format!("! {}", pane.written_name),
@@ -486,7 +488,7 @@ fn status() -> Result<(), String> {
} else {
("failed", format!(" · {}", pane.written_error))
};
- println!("{state:<8} {:<width$} {agent:<7} {cost:>8} {context:>4} {draft}{}{why}", place(pane), name.trim());
+ println!("{state:<8} {:<width$} {agent:<agents$} {cost:>8} {context:>4} {draft}{}{why}", place(pane), name.trim());
}
let global = |name: &str| tmux::show_global(name).unwrap_or_default();
let spent = [("today", "@dingger_cost_today"), ("this week", "@dingger_cost_week"), ("this month", "@dingger_cost_month")]