diff options
author | Jakob Stendahl <jakobste@uio.no> | 2021-10-21 19:28:20 +0200 |
---|---|---|
committer | Jakob Stendahl <jakobste@uio.no> | 2021-10-21 19:28:20 +0200 |
commit | 6e53fd0dfd830d6d96206419c530c71fa4b3f4e6 (patch) | |
tree | 9034a4c9adf3a41c6eb492f2fe6ac06e434275dd /src/NeoRuntimeManager/index.js | |
parent | f243dc8d7527cde3d5b5a4f6e659cf7604f5ae2a (diff) | |
download | Luxcena-Neo-6e53fd0dfd830d6d96206419c530c71fa4b3f4e6.tar.gz Luxcena-Neo-6e53fd0dfd830d6d96206419c530c71fa4b3f4e6.zip |
:sparkles: Add attempt at the "simulation"
Diffstat (limited to 'src/NeoRuntimeManager/index.js')
-rw-r--r-- | src/NeoRuntimeManager/index.js | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/NeoRuntimeManager/index.js b/src/NeoRuntimeManager/index.js index 4377b8a..7fc117a 100644 --- a/src/NeoRuntimeManager/index.js +++ b/src/NeoRuntimeManager/index.js @@ -29,8 +29,13 @@ const eventEmitter = new EventEmitter(); let modeDebuggerActive = false; /** @type {string} Should be the modeId the debugger is attached to */ let modeDebuggerId = null; +/** @type {object} Handler for proc:start when debugger is active */ +let modeDebuggerProcStartHandler; +/** @type {object} The last received matrix setup */ +let matrix = null; eventEmitter.on("proc:exit", (code) => modeExitCode = code); +eventEmitter.on("matrix", (_matrix) => matrix = _matrix); /** * Check if a path id actually a mode (if it is a folder with a script.py file) @@ -248,6 +253,13 @@ function startDebugger(debuggerModeId) { if (!isMode(getModePath(debuggerModeId))) { return {success: false, reason: "unknown modeId"}; } if (modeDebuggerActive) { return {success: false, reason: "debugger already active"}; } logger.info(`Starting debugger for ${debuggerModeId}`); + + modeDebuggerProcStartHandler = eventEmitter.on("proc:start", () => { + setTimeout(() => { + ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, true); + }, 500); + }); + modeDebuggerActive = true; modeDebuggerId = debuggerModeId; if (debuggerModeId != modeId) { @@ -277,6 +289,8 @@ function stopDebugger() { if (!modeDebuggerActive) { return {success: true, detail: "No debugger active"} } logger.info(`Stopping debugger`); modeDebuggerActive = false; + eventEmitter.removeAllListeners("proc:start", modeDebuggerProcStartHandler); + ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, false); return {success: true} } @@ -306,6 +320,7 @@ module.exports = (_neoModules) => { isMode, modeRunning, startDebugger, stopDebugger, saveModeCode, - startMode, stopMode, restartMode + startMode, stopMode, restartMode, + matrix } }; |