1interface dap {
2 use common.{env-vars};
3
4 record launch-request {
5 program: string,
6 cwd: option<string>,
7 args: list<string>,
8 envs: env-vars,
9 }
10
11 record attach-request {
12 process-id: option<u32>,
13 }
14
15 variant debug-request {
16 launch(launch-request),
17 attach(attach-request)
18 }
19
20 record tcp-arguments {
21 port: u16,
22 host: u32,
23 timeout: option<u64>,
24 }
25
26 record tcp-arguments-template {
27 port: option<u16>,
28 host: option<u32>,
29 timeout: option<u64>,
30 }
31
32 record debug-task-definition {
33 label: string,
34 adapter: string,
35 request: debug-request,
36 initialize-args: option<string>,
37 stop-on-entry: option<bool>,
38 tcp-connection: option<tcp-arguments-template>,
39 }
40
41 enum start-debugging-request-arguments-request {
42 launch,
43 attach,
44 }
45
46 record start-debugging-request-arguments {
47 configuration: string,
48 request: start-debugging-request-arguments-request,
49 }
50
51 record debug-adapter-binary {
52 command: string,
53 arguments: list<string>,
54 envs: env-vars,
55 cwd: option<string>,
56 connection: option<tcp-arguments>,
57 request-args: start-debugging-request-arguments
58 }
59}