dap.wit

 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}