From 6bcc019046462766958f783f87f59d5b1dfc7a0c Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Fri, 24 Nov 2017 19:08:50 +0100 Subject: [PATCH] all-in-one: make newline handling more robust --- tools/generate-all-in-one.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/tools/generate-all-in-one.js b/tools/generate-all-in-one.js index 6d1f729..8474f64 100644 --- a/tools/generate-all-in-one.js +++ b/tools/generate-all-in-one.js @@ -129,15 +129,10 @@ restart: for (var lno = 0; lno < source.length;) { lno++; } -var emptyOk = false; -for (var i = 0; i < source.length; i++) { - var line = source[i].replace(/\s+$/, ''); - if (line === '') { - if (emptyOk && i < source.length - 1) - process.stdout.write('\n'); - emptyOk = false; - } else { - process.stdout.write(line + '\n'); - emptyOk = true; - } -} +source = source + .map((line) => line.replace(/\s+$/, '')) + .join('\n') + .replace(/\n{3,}/g, '\n\n') + .replace(/\n*$/, '\n'); + +process.stdout.write(source);