From 0f6e81b85be6e7e8f08446f3cd373da38dd67360 Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov Date: Thu, 12 Aug 2021 16:35:15 +0300 Subject: Initial debug adapter protocol implementation --- helix-dap/examples/dap-basic.rs | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 helix-dap/examples/dap-basic.rs (limited to 'helix-dap/examples') diff --git a/helix-dap/examples/dap-basic.rs b/helix-dap/examples/dap-basic.rs new file mode 100644 index 00000000..45522516 --- /dev/null +++ b/helix-dap/examples/dap-basic.rs @@ -0,0 +1,51 @@ +use helix_dap::{Client, Result, SourceBreakpoint}; + +#[tokio::main] +pub async fn main() -> Result<()> { + let mut client = Client::start("nc", vec!["127.0.0.1", "7777"], 0)?; + + println!("init: {:?}", client.initialize().await); + println!("caps: {:?}", client.capabilities()); + println!( + "launch: {:?}", + client.launch("/tmp/godebug/main".to_owned()).await + ); + + println!( + "breakpoints: {:?}", + client + .set_breakpoints( + "/tmp/godebug/main.go".to_owned(), + vec![SourceBreakpoint { + line: 6, + column: Some(2), + }] + ) + .await + ); + + let mut _in = String::new(); + std::io::stdin() + .read_line(&mut _in) + .expect("Failed to read line"); + + println!("configurationDone: {:?}", client.configuration_done().await); + println!("stopped: {:?}", client.wait_for_stopped().await); + println!("stack trace: {:?}", client.stack_trace(1).await); + + let mut _in = String::new(); + std::io::stdin() + .read_line(&mut _in) + .expect("Failed to read line"); + + println!("continued: {:?}", client.continue_thread(0).await); + + let mut _in = String::new(); + std::io::stdin() + .read_line(&mut _in) + .expect("Failed to read line"); + + println!("disconnect: {:?}", client.disconnect().await); + + Ok(()) +} -- cgit v1.2.3-70-g09d2