From 0b74a931549d6c232b375e3b5fe567fca70a50c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Tue, 11 Feb 2020 16:19:59 +0100
Subject: [PATCH] [Ivette/server] console auto-scrolling

---
 Ivette/src/frama-c/server.js | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Ivette/src/frama-c/server.js b/Ivette/src/frama-c/server.js
index ee6e22f047e..dc581f43324 100644
--- a/Ivette/src/frama-c/server.js
+++ b/Ivette/src/frama-c/server.js
@@ -322,15 +322,20 @@ async function _launch() {
     buffer.append(argv);
   });
   buffer.append('\n');
-  process.stdout.on('data', buffer.append );
-  process.stderr.on('data', buffer.append );
+  const logger = (text) => {
+    buffer.append(text);
+    if (0 <= text.indexOf('\n'))
+      buffer.scroll();
+  };
+  process.stdout.on('data', logger );
+  process.stderr.on('data', logger );
   process.on('error', (err) => {
     buffer.append('Error:',err,'\n');
     _close(err);
   });
   process.on('exit', (status,signal) => {
-    signal && buffer.append('Signal:',signal,'\n');
-    status && buffer.append('Exit:',status,'\n');
+    signal && buffer.log('Signal:',signal);
+    status && buffer.log('Exit:',status);
     _close(signal || status);
   });
   // Connect to Server
-- 
GitLab