@@ -1,6 +1,6 @@
1−use helix_dap::{events, Client, Payload, Result, SourceBreakpoint};
1+use helix_dap::{events, Client, Event, Payload, Result, SourceBreakpoint};
22use serde::{Deserialize, Serialize};
3−use serde_json::{from_value, to_value};
3+use serde_json::to_value;
44use tokio::sync::mpsc::UnboundedReceiver;
55
66#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
@@ -13,22 +13,19 @@ struct LaunchArguments {
1313async fn dispatch(mut rx: UnboundedReceiver<Payload>) {
1414 loop {
1515 match rx.recv().await.unwrap() {
16− Payload::Event(ev) => match &ev.event[..] {
17− "output" => {
18− let body: events::Output = from_value(ev.body.unwrap()).unwrap();
19− println!(
20− "> [{}] {}",
21− body.category.unwrap_or("unknown".to_owned()),
22− body.output
23− );
24− }
25− "stopped" => {
26− println!("stopped");
27− }
28− _ => {}
29− },
30− Payload::Response(_) => unreachable!(),
31− Payload::Request(_) => todo!(),
16+ Payload::Event(Event::Output(events::Output {
17+ category, output, ..
18+ })) => {
19+ println!(
20+ "> [{}] {}",
21+ category.unwrap_or("unknown".to_owned()),
22+ output
23+ );
24+ }
25+ Payload::Event(Event::Stopped(_)) => {
26+ println!("stopped");
27+ }
28+ _ => {}
3229 };
3330 }
3431}