dap_adapters.rs

 1mod codelldb;
 2mod gdb;
 3mod go;
 4mod javascript;
 5mod python;
 6
 7use std::sync::Arc;
 8
 9use anyhow::Result;
10use async_trait::async_trait;
11use codelldb::CodeLldbDebugAdapter;
12use dap::{
13    DapRegistry,
14    adapters::{
15        self, AdapterVersion, DapDelegate, DebugAdapter, DebugAdapterBinary, DebugAdapterName,
16    },
17    configure_tcp_connection,
18};
19use gdb::GdbDebugAdapter;
20use go::GoDebugAdapter;
21use gpui::{App, BorrowAppContext};
22use javascript::JsDebugAdapter;
23use python::PythonDebugAdapter;
24use serde_json::json;
25use task::{DebugScenario, ZedDebugConfig};
26
27pub fn init(cx: &mut App) {
28    cx.update_default_global(|registry: &mut DapRegistry, _cx| {
29        registry.add_adapter(Arc::from(CodeLldbDebugAdapter::default()));
30        registry.add_adapter(Arc::from(PythonDebugAdapter::default()));
31        registry.add_adapter(Arc::from(JsDebugAdapter::default()));
32        registry.add_adapter(Arc::from(GoDebugAdapter::default()));
33        registry.add_adapter(Arc::from(GdbDebugAdapter));
34
35        #[cfg(any(test, feature = "test-support"))]
36        {
37            registry.add_adapter(Arc::from(dap::FakeAdapter {}));
38        }
39    })
40}