2013-01-04 14:35:20 -05:00
|
|
|
// Generated by CoffeeScript 1.5.0-pre
|
2010-07-24 11:31:43 -04:00
|
|
|
(function() {
|
2013-01-15 00:17:48 -05:00
|
|
|
var CoffeeScript, merge, repl, replDefaults, vm;
|
2012-01-03 14:56:17 -05:00
|
|
|
|
2013-01-15 00:17:48 -05:00
|
|
|
vm = require('vm');
|
2012-01-03 14:56:17 -05:00
|
|
|
|
2013-01-15 00:17:48 -05:00
|
|
|
repl = require('repl');
|
2011-09-18 18:16:39 -04:00
|
|
|
|
2010-03-15 23:39:46 -04:00
|
|
|
CoffeeScript = require('./coffee-script');
|
2011-09-18 18:16:39 -04:00
|
|
|
|
2013-01-15 00:17:48 -05:00
|
|
|
merge = require('./helpers').merge;
|
2011-09-18 18:16:39 -04:00
|
|
|
|
2013-01-15 00:17:48 -05:00
|
|
|
replDefaults = {
|
|
|
|
prompt: "coffee> ",
|
|
|
|
"eval": function(code, context, file, cb) {
|
2012-01-03 18:21:26 -05:00
|
|
|
try {
|
2013-01-15 01:22:28 -05:00
|
|
|
if (/^\(\s+\)$/.test(code)) {
|
|
|
|
code = '';
|
|
|
|
}
|
2013-01-15 00:17:48 -05:00
|
|
|
code = CoffeeScript.compile(code, {
|
|
|
|
filename: file,
|
|
|
|
bare: true
|
|
|
|
});
|
|
|
|
return cb(null, vm.runInContext(code, context, file));
|
|
|
|
} catch (err) {
|
|
|
|
return cb(err);
|
2012-05-16 15:50:34 -04:00
|
|
|
}
|
2012-01-03 18:21:26 -05:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2013-01-15 00:17:48 -05:00
|
|
|
module.exports = {
|
|
|
|
start: function(opts) {
|
|
|
|
if (opts == null) {
|
|
|
|
opts = {};
|
2012-04-10 14:57:45 -04:00
|
|
|
}
|
2013-01-15 00:17:48 -05:00
|
|
|
return repl.start(merge(replDefaults, opts));
|
2012-01-03 18:21:26 -05:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2010-09-21 03:53:58 -04:00
|
|
|
}).call(this);
|