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        GithubRepo,
17    },
18    configure_tcp_connection,
19};
20use gdb::GdbDebugAdapter;
21use go::GoDebugAdapter;
22use gpui::{App, BorrowAppContext};
23use javascript::JsDebugAdapter;
24use python::PythonDebugAdapter;
25use serde_json::json;
26use task::{DebugScenario, ZedDebugConfig};
27
28pub fn init(cx: &mut App) {
29    cx.update_default_global(|registry: &mut DapRegistry, _cx| {
30        registry.add_adapter(Arc::from(CodeLldbDebugAdapter::default()));
31        registry.add_adapter(Arc::from(PythonDebugAdapter::default()));
32        registry.add_adapter(Arc::from(JsDebugAdapter::default()));
33        registry.add_adapter(Arc::from(GoDebugAdapter::default()));
34        registry.add_adapter(Arc::from(GdbDebugAdapter));
35
36        #[cfg(any(test, feature = "test-support"))]
37        {
38            registry.add_adapter(Arc::from(dap::FakeAdapter {}));
39        }
40    })
41}