@@ -26,7 +26,7 @@ pub struct Client {
26 _process: Option<Child>,
26 _process: Option<Child>,
27 server_tx: UnboundedSender<Request>,
27 server_tx: UnboundedSender<Request>,
28 request_counter: AtomicU64,
28 request_counter: AtomicU64,
29− capabilities: Option<DebuggerCapabilities>,
29+ pub caps: Option<DebuggerCapabilities>,
31 pub breakpoints: HashMap<PathBuf, Vec<SourceBreakpoint>>,
31 pub breakpoints: HashMap<PathBuf, Vec<SourceBreakpoint>>,
32 // TODO: multiple threads support
32 // TODO: multiple threads support
@@ -77,7 +77,7 @@ impl Client {
77 _process: process,
77 _process: process,
78 server_tx,
78 server_tx,
79 request_counter: AtomicU64::new(0),
79 request_counter: AtomicU64::new(0),
80− capabilities: None,
80+ caps: None,
82 breakpoints: HashMap::new(),
82 breakpoints: HashMap::new(),
83 stack_pointer: None,
83 stack_pointer: None,
@@ -225,9 +225,7 @@ impl Client {
227 pub fn capabilities(&self) -> &DebuggerCapabilities {
227 pub fn capabilities(&self) -> &DebuggerCapabilities {
230− .expect("debugger not yet initialized!")
228+ self.caps.as_ref().expect("debugger not yet initialized!")
233 pub async fn initialize(&mut self, adapter_id: String) -> Result<()> {
231 pub async fn initialize(&mut self, adapter_id: String) -> Result<()> {
@@ -248,7 +246,7 @@ impl Client {
250 let response = self.request::<requests::Initialize>(args).await?;
248 let response = self.request::<requests::Initialize>(args).await?;
251− self.capabilities = Some(response);
249+ self.caps = Some(response);