diff options
| author | Igor Soarez <igor@soarez.org> | 2026-11-05 19:21:43 +0200 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-11-05 19:21:43 +0200 |
| commit | 5842b093cc502b46076423e4f8efdbbc568f86aa (patch) | |
| tree | 35b5a2ab971a2b9abb3188e56e0416033b4f13ea /crates/dinggerd/src/tmux.rs | |
| parent | 3b7b7ed091bae3b0609c38b2d445201cc4b7a026 (diff) | |
pi: a failed run says so: a 'failed' alert with the error, and the error in red until seen
Diffstat (limited to 'crates/dinggerd/src/tmux.rs')
| -rw-r--r-- | crates/dinggerd/src/tmux.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/dinggerd/src/tmux.rs b/crates/dinggerd/src/tmux.rs index 80adbb5..7845381 100644 --- a/crates/dinggerd/src/tmux.rs +++ b/crates/dinggerd/src/tmux.rs @@ -38,6 +38,8 @@ pub struct Pane { pub written_cost: String, /// How full the agent's context window is, in whole percent. pub written_context: String, + /// Why its last run failed, while it is done and unseen. + pub written_error: String, } @@ -124,14 +126,15 @@ pub fn list_panes() -> Result<Vec<Pane>, String> { "#{@dingger_control}\t", "#{@dingger_draft}\t", "#{@dingger_cost}\t", - "#{@dingger_context}", + "#{@dingger_context}\t", + "#{@dingger_error}", ); let out = run_tmux(&["list-panes", "-a", "-F", format])?; let mut panes: Vec<Pane> = Vec::new(); let mut process_tree = None; for line in out.lines() { let fields: Vec<&str> = line.split('\t').collect(); - if fields.len() < 25 { + if fields.len() < 26 { continue; } let attended = fields[4] == "1" && fields[5] != "0"; @@ -179,6 +182,7 @@ pub fn list_panes() -> Result<Vec<Pane>, String> { written_draft: fields[22].to_string(), written_cost: fields[23].to_string(), written_context: fields[24].to_string(), + written_error: fields[25].to_string(), }); } Ok(panes) |
