aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/NeoRuntimeManager/index.js13
-rw-r--r--src/SocketIO/index.js3
2 files changed, 14 insertions, 2 deletions
diff --git a/src/NeoRuntimeManager/index.js b/src/NeoRuntimeManager/index.js
index 1a56b04..5989f61 100644
--- a/src/NeoRuntimeManager/index.js
+++ b/src/NeoRuntimeManager/index.js
@@ -235,6 +235,12 @@ function setVariable(name, value) {
*
*/
function debugModeEmitState() {
+ eventEmitter.emit("debugger:state", {
+ mode: modeDebuggerId,
+ running: runtimeProcess.isRunning,
+ debugMode: modeDebuggerActive,
+ matrix: matrix
+ });
}
/**
@@ -261,8 +267,7 @@ function startDebugger(debuggerModeId) {
}
if (debugModeStateEmitIntervall == null) {
- debugModeStateEmitIntervall = setInterval(() => {
- }, 500);
+ debugModeStateEmitIntervall = setInterval(debugModeEmitState, 1000);
}
modeDebuggerActive = true;
@@ -294,6 +299,10 @@ function stopDebugger() {
modeDebuggerActive = false;
eventEmitter.removeAllListeners("proc:start", modeDebuggerProcStartHandler);
modeDebuggerProcStartHandler = null;
+
+ clearInterval(debugModeStateEmitIntervall);
+ debugModeStateEmitIntervall = null;
+
ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, false);
return {success: true}
}
diff --git a/src/SocketIO/index.js b/src/SocketIO/index.js
index ff8f378..675efc5 100644
--- a/src/SocketIO/index.js
+++ b/src/SocketIO/index.js
@@ -269,12 +269,14 @@ function createAuthorizedNamespace(io) {
let onProcStop = (code) => socket.emit("editor:proc:exit", code);
let onProcStdout = (stdout) => socket.volatile.emit("editor:proc:stdout", stdout);
let onProcStderr = (stderr) => socket.volatile.emit("editor:proc:stderr", stderr);
+ let onDebuggerState = (state) => socket.volatile.emit("editor:debugger:state", state);
let closeDebugger = () => {
debuggerOpen = false;
neoModules.neoRuntimeManager.event.removeListener("proc:start", onProcStart);
neoModules.neoRuntimeManager.event.removeListener("proc:stop", onProcStop);
neoModules.neoRuntimeManager.event.removeListener("proc:stdout", onProcStdout);
neoModules.neoRuntimeManager.event.removeListener("proc:stderr", onProcStderr);
+ neoModules.neoRuntimeManager.event.removeListener("debugger:state", onDebuggerState);
return neoModules.neoRuntimeManager.stopDebugger();
};
socket.on("editor:open", (modeId, fn) => {
@@ -282,6 +284,7 @@ function createAuthorizedNamespace(io) {
neoModules.neoRuntimeManager.event.on("proc:exit", onProcStop);
neoModules.neoRuntimeManager.event.on("proc:stdout", onProcStdout);
neoModules.neoRuntimeManager.event.on("proc:stderr", onProcStderr);
+ neoModules.neoRuntimeManager.event.on("debugger:state", onDebuggerState);
let res = neoModules.neoRuntimeManager.startDebugger(modeId);
if (!res.success) { fn(res); return; }
logger.info(`Starting debugger for ${modeId}.`)