From 9ba07836f44c8bb0cf31e23ca82c3bd865487c80 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Wed, 26 May 2021 07:52:04 -0400 Subject: Add REPL mode to Node.js version of BQN --- bqn.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bqn.js b/bqn.js index bbbc2327..c0e1fb7e 100755 --- a/bqn.js +++ b/bqn.js @@ -57,7 +57,14 @@ if (!module.parent) { console.error(''+fmtErr(e)+''); } } - if (arg0[0] !== '-' || (arg0==='-f'&&(arg0=(args=args.slice(1))[0],1))) { + if (!has(arg0) || arg0==='-r') { + let stdin = process.stdin, repl = sysvals.makerepl(); + let e = exec(s=>show(repl(str(s)))); + stdin.on('end', () => { process.exit(); }); + stdin.on('readable', () => { + let inp; while ((inp=stdin.read())!==null) { e(inp.toString()); } + }); + } else if (arg0[0] !== '-' || (arg0==='-f'&&(arg0=(args=args.slice(1))[0],1))) { let f=arg0, a=list(args.slice(1).map(str)); exec(s=>bqn_file(f,s,a))(fs.readFileSync(f,'utf-8')); } else if (arg0 === '-e') { -- cgit v1.2.3