aboutsummaryrefslogtreecommitdiff
path: root/packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts')
-rw-r--r--packages/bun-debug-adapter-protocol/src/debugger/capabilities.ts271
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;