in adapter/src/runDebugAdapter.ts [10:44]
export function runDebugAdapter(debugSession: typeof DebugSession) {
// parse arguments
let port = 0;
const args = process.argv.slice(2);
args.forEach(function (val, index, array) {
const portMatch = /^--server=(\d{4,5})$/.exec(val);
if (portMatch) {
port = parseInt(portMatch[1], 10);
}
});
if (port > 0) {
// start as a server
console.error(`waiting for debug protocol on port ${port}`);
Net.createServer((socket) => {
console.error('>> accepted connection from client');
socket.on('end', () => {
console.error('>> client connection closed\n');
});
const session = new debugSession(false, true);
session.setRunAsServer(true);
session.start(socket, socket);
}).listen(port);
} else {
// start a session
//console.error('waiting for debug protocol on stdin/stdout');
const session = new debugSession(false);
process.on('SIGTERM', () => {
session.shutdown();
});
session.start(process.stdin, process.stdout);
}
}