aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/application.rs13
1 files 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();