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