From 2c3e2b979b8b2fb501cb0c6b7123d9091266efdc Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov Date: Tue, 24 Aug 2021 21:28:51 +0300 Subject: [PATCH] Workaround for debugging Go tests --- helix-term/src/application.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 3f911195..17c762da 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -273,11 +273,14 @@ impl Application { .. }) => { debugger.is_running = false; - let main = debugger - .threads() - .await - .ok() - .and_then(|threads| threads.get(0).cloned()); + let main = debugger.threads().await.ok().and_then(|threads| { + // Workaround for debugging Go tests. Main thread has * in beginning of its name + let mut main = threads.iter().find(|t| t.name.starts_with('*')).cloned(); + if main.is_none() { + main = threads.get(0).cloned(); + } + main + }); if let Some(main) = main { let (bt, _) = debugger.stack_trace(main.id).await.unwrap();