@@ -28,7 +28,7 @@ class DebugProtocol {
28
28
/**
29
29
* Version of Debug Protocol
30
30
*/
31
- public static final String SCHEMA_VERSION = " 1.65 .0" ;
31
+ public static final String SCHEMA_VERSION = " 1.69 .0" ;
32
32
33
33
/**
34
34
* Refer to the Debug Adapter Protocol's
@@ -261,7 +261,13 @@ class OutputEventArguments {
261
261
String category;
262
262
/**
263
263
* The output to report.
264
- */
264
+ * <p >
265
+ * ANSI escape sequences may be used to influence text color and styling if `supportsANSIStyling` is present in
266
+ * both the adapter's `Capabilities` and the client's `InitializeRequestArguments`. A client may strip any
267
+ * unrecognized ANSI sequences.
268
+ * <p >
269
+ * If the `supportsANSIStyling` capabilities are not both true, then the client should display the output literally.
270
+ */
265
271
@NonNull
266
272
String output;
267
273
/**
@@ -305,6 +311,19 @@ class OutputEventArguments {
305
311
* This is an optional property.
306
312
*/
307
313
Object data;
314
+ /**
315
+ * A reference that allows the client to request the location where the new value is declared. For example,
316
+ * if the logged value is function pointer, the adapter may be able to look up the function's location. This should
317
+ * be present only if the adapter is likely to be able to resolve the location.
318
+ * <p >
319
+ * This reference shares the same lifetime as the `variablesReference`.
320
+ * See 'Lifetime of Object References' in the Overview section for details.
321
+ * <p >
322
+ * This is an optional property.
323
+ * <p >
324
+ * Since 1.68
325
+ */
326
+ Integer locationReference;
308
327
}
309
328
310
329
/**
@@ -475,7 +494,9 @@ class ProcessEventArguments {
475
494
@NonNull
476
495
String name;
477
496
/**
478
- * The system process id of the debugged process. This property is missing for non-system processes.
497
+ * The process ID of the debugged process, as assigned by the operating system.
498
+ * This property should be omitted for logical processes that do not map to
499
+ * operating system processes on the machine.
479
500
* <p >
480
501
* This is an optional property.
481
502
*/
@@ -902,6 +923,15 @@ class InitializeRequestArguments {
902
923
* Since 1.59
903
924
*/
904
925
Boolean supportsStartDebuggingRequest;
926
+ /**
927
+ * The client will interpret ANSI escape sequences in the display of `OutputEvent.output` and `Variable.value`
928
+ * fields when `Capabilities.supportsANSIStyling` is also enabled.
929
+ * <p >
930
+ * This is an optional property.
931
+ * <p >
932
+ * Since 1.69
933
+ */
934
+ Boolean supportsANSIStyling;
905
935
}
906
936
907
937
/**
@@ -1280,7 +1310,8 @@ class DataBreakpointInfoArguments {
1280
1310
/**
1281
1311
* The name of the Variable's child to obtain data breakpoint information for.
1282
1312
* <p >
1283
- * If variablesReference isn't specified, this can be an expression.
1313
+ * If variablesReference isn't specified, this can be an expression, or an address
1314
+ * if `asAddress` is also true.
1284
1315
*/
1285
1316
@NonNull
1286
1317
String name;
@@ -1294,6 +1325,29 @@ class DataBreakpointInfoArguments {
1294
1325
* Since 1.59
1295
1326
*/
1296
1327
Integer frameId;
1328
+ /**
1329
+ * If specified, a debug adapter should return information for the range of memory extending `bytes` number of
1330
+ * bytes from the address or variable specified by `name`. Breakpoints set using the resulting data ID should
1331
+ * pause on data access anywhere within that range.
1332
+ * <p >
1333
+ * Clients may set this property only if the `supportsDataBreakpointBytes` capability is true.
1334
+ * <p >
1335
+ * This is an optional property.
1336
+ * <p >
1337
+ * Since 1.66
1338
+ */
1339
+ Integer bytes;
1340
+ /**
1341
+ * If `true`, the `name` is a memory address and the debugger should interpret it as a decimal value,
1342
+ * or hex value if it is prefixed with `0x`.
1343
+ * <p >
1344
+ * Clients may set this property only if the `supportsDataBreakpointBytes` capability is true.
1345
+ * <p >
1346
+ * This is an optional property.
1347
+ * <p >
1348
+ * Since 1.66
1349
+ */
1350
+ Boolean asAddress;
1297
1351
/**
1298
1352
* The mode of the desired breakpoint. If defined, this must be one of the `breakpointModes`
1299
1353
* the debug adapter advertised in its `Capabilities`.
@@ -1728,7 +1782,10 @@ class SetVariableResponse {
1728
1782
/**
1729
1783
* If `variablesReference` is > ; 0, the new value is structured and its children can be retrieved by passing
1730
1784
* `variablesReference` to the `variables` request as long as execution remains suspended.
1731
- * See 'Lifetime of Object References' in the {@link DebugProtocol#Overview} section for details.
1785
+ * See 'Lifetime of Object References' in the Overview section for details.
1786
+ * <p >
1787
+ * If this property is included in the response, any `variablesReference` previously associated with
1788
+ * the updated variable, and those of its children, are no longer valid.
1732
1789
* <p >
1733
1790
* This is an optional property.
1734
1791
*/
@@ -1766,6 +1823,19 @@ class SetVariableResponse {
1766
1823
* Since 1.63
1767
1824
*/
1768
1825
String memoryReference;
1826
+ /**
1827
+ * A reference that allows the client to request the location where the new value is declared. For example,
1828
+ * if the new value is function pointer, the adapter may be able to look up the function's location. This should be
1829
+ * present only if the adapter is likely to be able to resolve the location.
1830
+ * <p >
1831
+ * This reference shares the same lifetime as the `variablesReference`.
1832
+ * See 'Lifetime of Object References' in the Overview section for details.
1833
+ * <p >
1834
+ * This is an optional property.
1835
+ * <p >
1836
+ * Since 1.68
1837
+ */
1838
+ Integer valueLocationReference;
1769
1839
}
1770
1840
1771
1841
/**
@@ -1979,6 +2049,19 @@ class EvaluateResponse {
1979
2049
* This is an optional property.
1980
2050
*/
1981
2051
String memoryReference;
2052
+ /**
2053
+ * A reference that allows the client to request the location where the returned value is declared. For example,
2054
+ * if a function pointer is returned, the adapter may be able to look up the function's location.
2055
+ * This should be present only if the adapter is likely to be able to resolve the location.
2056
+ * <p >
2057
+ * This reference shares the same lifetime as the `variablesReference`.
2058
+ * See 'Lifetime of Object References' in the Overview section for details.
2059
+ * <p >
2060
+ * This is an optional property.
2061
+ * <p >
2062
+ * Since 1.68
2063
+ */
2064
+ Integer valueLocationReference;
1982
2065
}
1983
2066
1984
2067
/**
@@ -1998,6 +2081,34 @@ class EvaluateArguments {
1998
2081
* This is an optional property.
1999
2082
*/
2000
2083
Integer frameId;
2084
+ /**
2085
+ * The contextual line where the expression should be evaluated. In the 'hover' context, this should be set to the
2086
+ * start of the expression being hovered.
2087
+ * <p >
2088
+ * This is an optional property.
2089
+ * <p >
2090
+ * Since 1.67
2091
+ */
2092
+ Integer line;
2093
+ /**
2094
+ * The contextual column where the expression should be evaluated. This may be provided if `line` is also provided.
2095
+ * <p >
2096
+ * It is measured in UTF-16 code units and the client capability `columnsStartAt1` determines whether
2097
+ * it is 0- or 1-based.
2098
+ * <p >
2099
+ * This is an optional property.
2100
+ * <p >
2101
+ * Since 1.67
2102
+ */
2103
+ Integer column;
2104
+ /**
2105
+ * The contextual source in which the `line` is found. This must be provided if `line` is provided.
2106
+ * <p >
2107
+ * This is an optional property.
2108
+ * <p >
2109
+ * Since 1.67
2110
+ */
2111
+ Source source;
2001
2112
/**
2002
2113
* The context in which the evaluate request is used.
2003
2114
* <p >
@@ -2117,6 +2228,19 @@ class SetExpressionResponse {
2117
2228
* Since 1.63
2118
2229
*/
2119
2230
String memoryReference;
2231
+ /**
2232
+ * A reference that allows the client to request the location where the new value is declared. For example,
2233
+ * if the new value is function pointer, the adapter may be able to look up the function's location. This should be
2234
+ * present only if the adapter is likely to be able to resolve the location.
2235
+ * <p >
2236
+ * This reference shares the same lifetime as the `variablesReference`.
2237
+ * See 'Lifetime of Object References' in the Overview section for details.
2238
+ * <p >
2239
+ * This is an optional property.
2240
+ * <p >
2241
+ * Since 1.68
2242
+ */
2243
+ Integer valueLocationReference;
2120
2244
}
2121
2245
2122
2246
/**
@@ -2458,6 +2582,66 @@ class DisassembleArguments {
2458
2582
Boolean resolveSymbols;
2459
2583
}
2460
2584
2585
+
2586
+ /**
2587
+ * Arguments for 'locations' request.
2588
+ * <p >
2589
+ * Since 1.68
2590
+ */
2591
+ @JsonRpcData
2592
+ class LocationsArguments {
2593
+ /**
2594
+ * Location reference to resolve.
2595
+ */
2596
+ @NonNull
2597
+ Integer locationReference;
2598
+ }
2599
+
2600
+ /**
2601
+ * Response to 'locations' request.
2602
+ * <p >
2603
+ * Since 1.68
2604
+ */
2605
+ @JsonRpcData
2606
+ class LocationsResponse {
2607
+ /**
2608
+ * The source containing the location; either `source.path` or
2609
+ * `source.sourceReference` must be specified.
2610
+ */
2611
+ @NonNull
2612
+ Source source;
2613
+ /**
2614
+ * The line number of the location. The client capability `linesStartAt1`
2615
+ * determines whether it is 0- or 1-based.
2616
+ */
2617
+ @NonNull
2618
+ Integer line;
2619
+ /**
2620
+ * Position of the location within the `line`. It is measured in UTF-16 code
2621
+ * units and the client capability `columnsStartAt1` determines whether it
2622
+ * is 0- or 1-based. If no column is given, the first position in the start
2623
+ * line is assumed.
2624
+ * <p >
2625
+ * This is an optional property.
2626
+ */
2627
+ Integer column;
2628
+ /**
2629
+ * End line of the location, present if the location refers to a range. The
2630
+ * client capability `linesStartAt1` determines whether it is 0- or 1-based.
2631
+ * <p >
2632
+ * This is an optional property.
2633
+ */
2634
+ Integer endLine;
2635
+ /**
2636
+ * End position of the location within `endLine`, present if the location
2637
+ * refers to a range. It is measured in UTF-16 code units and the client
2638
+ * capability `columnsStartAt1` determines whether it is 0- or 1-based.
2639
+ * <p >
2640
+ * This is an optional property.
2641
+ */
2642
+ Integer endColumn;
2643
+ }
2644
+
2461
2645
/**
2462
2646
* Information about the capabilities of a debug adapter.
2463
2647
*/
@@ -2709,6 +2893,15 @@ class Capabilities {
2709
2893
* Since 1.51
2710
2894
*/
2711
2895
Boolean supportsSingleThreadExecutionRequests;
2896
+ /**
2897
+ * The debug adapter supports the 'asAddress' and 'bytes' fields in the 'dataBreakpointInfo'
2898
+ * request.
2899
+ * <p >
2900
+ * This is an optional property.
2901
+ * <p >
2902
+ * Since 1.66
2903
+ */
2904
+ Boolean supportsDataBreakpointBytes;
2712
2905
/**
2713
2906
* Modes of breakpoints supported by the debug adapter, such as 'hardware' or 'software'.
2714
2907
* If present, the client may allow the user to select a mode and include it in its `setBreakpoints` request.
@@ -2723,6 +2916,14 @@ class Capabilities {
2723
2916
* Since 1.65
2724
2917
*/
2725
2918
BreakpointMode [] breakpointModes;
2919
+ /**
2920
+ * The debug adapter supports ANSI escape sequences in styling of `OutputEvent.output` and `Variable.value` fields.
2921
+ * <p >
2922
+ * This is an optional property.
2923
+ * <p >
2924
+ * Since 1.69
2925
+ */
2926
+ Boolean supportsANSIStyling;
2726
2927
}
2727
2928
2728
2929
/**
@@ -3172,8 +3373,8 @@ class StackFrame {
3172
3373
*/
3173
3374
Integer endColumn;
3174
3375
/**
3175
- * Indicates whether this frame can be restarted with the 'restart' request.
3176
- * Clients should only use this if the debug adapter supports the ' restart' request
3376
+ * Indicates whether this frame can be restarted with the `restartFrame` request.
3377
+ * Clients should only use this if the debug adapter supports the ` restart` request
3177
3378
* and the corresponding capability {@link Capabilities#getSupportsRestartRequest}
3178
3379
* is {@code true }. If a debug adapter has this capability, then `canRestart` defaults
3179
3380
* to `true` if the property is absent.
@@ -3319,6 +3520,12 @@ interface ScopePresentationHint {
3319
3520
* Scope contains registers. Only a single 'registers' scope should be returned from a 'scopes' request.
3320
3521
*/
3321
3522
public static final String REGISTERS = " registers" ;
3523
+ /**
3524
+ * Scope contains one or more return values.
3525
+ * <p >
3526
+ * Since 1.67
3527
+ */
3528
+ public static final String RETURN_VALUE = " returnValue" ;
3322
3529
}
3323
3530
3324
3531
/**
@@ -3413,6 +3620,31 @@ class Variable {
3413
3620
* This is an optional property.
3414
3621
*/
3415
3622
String memoryReference;
3623
+ /**
3624
+ * A reference that allows the client to request the location where the variable is declared. This should be
3625
+ * present only if the adapter is likely to be able to resolve the location.
3626
+ * <p >
3627
+ * This reference shares the same lifetime as the `variablesReference`.
3628
+ * See 'Lifetime of Object References' in the Overview section for details.
3629
+ * <p >
3630
+ * This is an optional property.
3631
+ * <p >
3632
+ * Since 1.68
3633
+ */
3634
+ Integer declarationLocationReference;
3635
+ /**
3636
+ * A reference that allows the client to request the location where the variable's value is declared. For example,
3637
+ * if the variable contains a function pointer, the adapter may be able to look up the function's location.
3638
+ * This should be present only if the adapter is likely to be able to resolve the location.
3639
+ * <p >
3640
+ * This reference shares the same lifetime as the `variablesReference`.
3641
+ * See 'Lifetime of Object References' in the Overview section for details.
3642
+ * <p >
3643
+ * This is an optional property.
3644
+ * <p >
3645
+ * Since 1.68
3646
+ */
3647
+ Integer valueLocationReference;
3416
3648
}
3417
3649
3418
3650
/**
0 commit comments