From 936f112b6aa2df6dc9ceb6b02675bbb48e6b52a9 Mon Sep 17 00:00:00 2001 From: Ashcon Partovi Date: Thu, 24 Aug 2023 15:08:39 -0700 Subject: Prepare for extension --- packages/bun-debug-adapter-protocol/debugger/adapter.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'packages/bun-debug-adapter-protocol/debugger/adapter.ts') diff --git a/packages/bun-debug-adapter-protocol/debugger/adapter.ts b/packages/bun-debug-adapter-protocol/debugger/adapter.ts index ed40c86e4..251eac5d5 100644 --- a/packages/bun-debug-adapter-protocol/debugger/adapter.ts +++ b/packages/bun-debug-adapter-protocol/debugger/adapter.ts @@ -95,6 +95,7 @@ export class DebugAdapter implements IDebugAdapter, InspectorListener { #functionBreakpoints: Map; #variables: (Variable | Variable[])[]; #process?: ChildProcess; + #launched?: LaunchRequest; #initialized?: InitializeRequest; #terminated?: boolean; @@ -121,6 +122,7 @@ export class DebugAdapter implements IDebugAdapter, InspectorListener { this.#breakpoints.length = 0; this.#functionBreakpoints.clear(); this.#variables.length = 1; + this.#launched = undefined; this.#initialized = undefined; } @@ -236,12 +238,23 @@ export class DebugAdapter implements IDebugAdapter, InspectorListener { } async configurationDone(request: DAP.ConfigurationDoneRequest): Promise { + if (this.#launched?.noDebug) { + this.#send("Debugger.setBreakpointsActive", { active: false }); + this.#send("Debugger.setPauseOnExceptions", { state: "none" }); + this.#send("Debugger.setPauseOnDebuggerStatements", { enabled: false }); + this.#send("Debugger.setPauseOnMicrotasks", { enabled: false }); + this.#send("Debugger.setPauseForInternalScripts", { shouldPause: false }); + this.#send("Debugger.setPauseOnAssertions", { enabled: false }); + } + this.#send("Inspector.initialized"); return {}; } async launch(request: DAP.LaunchRequest): Promise { + this.#launched = request; + try { await this.#launch(request); } catch (error) { @@ -254,6 +267,7 @@ export class DebugAdapter implements IDebugAdapter, InspectorListener { }); this.#emit("terminated"); } + return {}; } -- cgit v1.2.3