diff options
Diffstat (limited to 'packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts')
-rw-r--r-- | packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts | 271 |
1 files changed, 271 insertions, 0 deletions
diff --git a/packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts b/packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts new file mode 100644 index 000000000..7de639712 --- /dev/null +++ b/packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts @@ -0,0 +1,271 @@ +import type { DAP } from "../protocol"; + +const capabilities: DAP.Capabilities = { + /** + * The debug adapter supports the `configurationDone` request. + * @see configurationDone + */ + supportsConfigurationDoneRequest: true, + + /** + * The debug adapter supports function breakpoints using the `setFunctionBreakpoints` request. + * @see setFunctionBreakpoints + */ + supportsFunctionBreakpoints: true, + + /** + * The debug adapter supports conditional breakpoints. + * @see setBreakpoints + * @see setInstructionBreakpoints + * @see setFunctionBreakpoints + * @see setExceptionBreakpoints + * @see setDataBreakpoints + */ + supportsConditionalBreakpoints: true, + + /** + * The debug adapter supports breakpoints that break execution after a specified number of hits. + * @see setBreakpoints + * @see setInstructionBreakpoints + * @see setFunctionBreakpoints + * @see setExceptionBreakpoints + * @see setDataBreakpoints + */ + supportsHitConditionalBreakpoints: true, + + /** + * The debug adapter supports a (side effect free) `evaluate` request for data hovers. + * @see evaluate + */ + supportsEvaluateForHovers: true, + + /** + * Available exception filter options for the `setExceptionBreakpoints` request. + * @see setExceptionBreakpoints + */ + exceptionBreakpointFilters: [ + { + filter: "all", + label: "Caught Exceptions", + default: false, + supportsCondition: true, + description: "Breaks on all throw errors, even if they're caught later.", + conditionDescription: `error.name == "CustomError"`, + }, + { + filter: "uncaught", + label: "Uncaught Exceptions", + default: false, + supportsCondition: true, + description: "Breaks only on errors or promise rejections that are not handled.", + conditionDescription: `error.name == "CustomError"`, + }, + ], + + /** + * The debug adapter supports stepping back via the `stepBack` and `reverseContinue` requests. + * @see stepBack + * @see reverseContinue + */ + supportsStepBack: false, + + /** + * The debug adapter supports setting a variable to a value. + * @see setVariable + */ + supportsSetVariable: false, + + /** + * The debug adapter supports restarting a frame. + * @see restartFrame + */ + supportsRestartFrame: false, + + /** + * The debug adapter supports the `gotoTargets` request. + * @see gotoTargets + */ + supportsGotoTargetsRequest: false, + + /** + * The debug adapter supports the `stepInTargets` request. + * @see stepInTargets + */ + supportsStepInTargetsRequest: false, + + /** + * The debug adapter supports the `completions` request. + * @see completions + */ + supportsCompletionsRequest: false, + + /** + * The set of characters that should trigger completion in a REPL. + * If not specified, the UI should assume the `.` character. + * @see completions + */ + completionTriggerCharacters: [".", "[", '"', "'"], + + /** + * The debug adapter supports the `modules` request. + * @see modules + */ + supportsModulesRequest: false, + + /** + * The set of additional module information exposed by the debug adapter. + * @see modules + */ + additionalModuleColumns: [], + + /** + * Checksum algorithms supported by the debug adapter. + */ + supportedChecksumAlgorithms: [], + + /** + * The debug adapter supports the `restart` request. + * In this case a client should not implement `restart` by terminating + * and relaunching the adapter but by calling the `restart` request. + * @see restart + */ + supportsRestartRequest: false, + + /** + * The debug adapter supports `exceptionOptions` on the `setExceptionBreakpoints` request. + * @see setExceptionBreakpoints + */ + supportsExceptionOptions: false, + + /** + * The debug adapter supports a `format` attribute on the `stackTrace`, `variables`, and `evaluate` requests. + * @see stackTrace + * @see variables + * @see evaluate + */ + supportsValueFormattingOptions: false, + + /** + * The debug adapter supports the `exceptionInfo` request. + * @see exceptionInfo + */ + supportsExceptionInfoRequest: true, + + /** + * The debug adapter supports the `terminateDebuggee` attribute on the `disconnect` request. + * @see disconnect + */ + supportTerminateDebuggee: true, + + /** + * The debug adapter supports the `suspendDebuggee` attribute on the `disconnect` request. + * @see disconnect + */ + supportSuspendDebuggee: false, + + /** + * The debug adapter supports the delayed loading of parts of the stack, + * which requires that both the `startFrame` and `levels` arguments and + * the `totalFrames` result of the `stackTrace` request are supported. + * @see stackTrace + */ + supportsDelayedStackTraceLoading: true, + + /** + * The debug adapter supports the `loadedSources` request. + * @see loadedSources + */ + supportsLoadedSourcesRequest: true, + + /** + * The debug adapter supports log points by interpreting the `logMessage` attribute of the `SourceBreakpoint`. + * @see setBreakpoints + */ + supportsLogPoints: true, + + /** + * The debug adapter supports the `terminateThreads` request. + * @see terminateThreads + */ + supportsTerminateThreadsRequest: false, + + /** + * The debug adapter supports the `setExpression` request. + * @see setExpression + */ + supportsSetExpression: false, + + /** + * The debug adapter supports the `terminate` request. + * @see terminate + */ + supportsTerminateRequest: true, + + /** + * The debug adapter supports data breakpoints. + * @see setDataBreakpoints + */ + supportsDataBreakpoints: false, + + /** + * The debug adapter supports the `readMemory` request. + * @see readMemory + */ + supportsReadMemoryRequest: false, + + /** + * The debug adapter supports the `writeMemory` request. + * @see writeMemory + */ + supportsWriteMemoryRequest: false, + + /** + * The debug adapter supports the `disassemble` request. + * @see disassemble + */ + supportsDisassembleRequest: false, + + /** + * The debug adapter supports the `cancel` request. + * @see cancel + */ + supportsCancelRequest: false, + + /** + * The debug adapter supports the `breakpointLocations` request. + * @see breakpointLocations + */ + supportsBreakpointLocationsRequest: true, + + /** + * The debug adapter supports the `clipboard` context value in the `evaluate` request. + * @see evaluate + */ + supportsClipboardContext: false, + + /** + * The debug adapter supports stepping granularities (argument `granularity`) for the stepping requests. + * @see stepIn + */ + supportsSteppingGranularity: false, + + /** + * The debug adapter supports adding breakpoints based on instruction references. + * @see setInstructionBreakpoints + */ + supportsInstructionBreakpoints: false, + + /** + * The debug adapter supports `filterOptions` as an argument on the `setExceptionBreakpoints` request. + * @see setExceptionBreakpoints + */ + supportsExceptionFilterOptions: true, + + /** + * The debug adapter supports the `singleThread` property on the execution requests + * (`continue`, `next`, `stepIn`, `stepOut`, `reverseContinue`, `stepBack`). + */ + supportsSingleThreadExecutionRequests: false, +}; + +export default capabilities; |