terminateRequest method
terminateRequest is called by the client when it wants us to gracefully shut down.
It's not very obvious from the names, but terminateRequest
is sent first
(a request for a graceful shutdown) and disconnectRequest
second (a
request for a forced shutdown).
https://microsoft.github.io/debug-adapter-protocol/overview#debug-session-end
Implementation
@override
Future<void> terminateRequest(
Request request,
TerminateArguments? args,
void Function() sendResponse,
) async {
isTerminating = true;
await terminateImpl();
sendResponse();
await shutdown();
}