iri-compile
Version:
22 lines (21 loc) • 638 B
JavaScript
const _ = require('./compiler'), prompt = require('prompt-sync')(), fs = require('fs'), chalk = require('chalk')
function compile(input,after) {
let match,res,vars;
res = "";
vars = {};
let a = input('>>> ');
while (a!=='q') {
let matchesCompile = (match = a.match(/iri\s*-(\w+)\s*([\s\S]+)/)) ? true : false;
if (matchesCompile) {
res += _(fs.readFileSync(match[2], 'utf8'),vars)
} else {
process.stdout.write(chalk.red(`Iridium: iri-compile: ${chalk.inverse.dim(a)}: unknown command\n`))
}
a = input('>>> ')
}
after(res)
return res;
}
module.exports = ()=>{
return (input,callback)=>{compile(input,callback)}
}