Revert "Merge branch 'console_io' of git://github.com/TrevorBurnham/coffee-script"

This reverts commit 2cb42b502c, reversing
changes made to 64bd4b3f74.
This commit is contained in:
Jeremy Ashkenas
2011-10-24 16:19:15 -04:00
parent 2cb42b502c
commit 91cb433b66
2 changed files with 31 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
(function() {
var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compileScript, compileScripts, compileStdio, contents, exec, forkNode, fs, helpers, lint, loadRequires, optionParser, optparse, opts, parseOptions, path, printTokens, sources, spawn, usage, version, watch, writeJs, _ref;
var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compileScript, compileScripts, compileStdio, contents, exec, forkNode, fs, helpers, lint, loadRequires, optionParser, optparse, opts, parseOptions, path, printLine, printTokens, printWarn, sources, spawn, usage, version, watch, writeJs, _ref;
fs = require('fs');
@@ -17,6 +17,14 @@
helpers.extend(CoffeeScript, new EventEmitter);
printLine = function(line) {
return process.stdout.write(line + '\n');
};
printWarn = function(line) {
return process.binding('stdio').writeError(line + '\n');
};
BANNER = 'Usage: coffee [options] path/to/script.coffee\n\nIf called without options, `coffee` will run your script.';
SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['-o', '--output [DIR]', 'set the output directory for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']];
@@ -134,14 +142,14 @@
if (o.tokens) {
return printTokens(CoffeeScript.tokens(t.input));
} else if (o.nodes) {
return console.log(CoffeeScript.nodes(t.input).toString().trim());
return printLine(CoffeeScript.nodes(t.input).toString().trim());
} else if (o.run) {
return CoffeeScript.run(t.input, t.options);
} else {
t.output = CoffeeScript.compile(t.input, t.options);
CoffeeScript.emit('success', task);
if (o.print) {
return console.log(t.output.trim());
return printLine(t.output.trim());
} else if (o.compile) {
return writeJs(t.file, t.output, base);
} else if (o.lint) {
@@ -151,8 +159,8 @@
} catch (err) {
CoffeeScript.emit('failure', err, task);
if (CoffeeScript.listeners('failure').length) return;
if (o.watch) return console.log(err.message);
console.error(err instanceof Error && err.stack || ("ERROR: " + err));
if (o.watch) return printLine(err.message);
printWarn(err instanceof Error && err.stack || ("ERROR: " + err));
return process.exit(1);
}
};
@@ -213,7 +221,7 @@
if (js.length <= 0) js = ' ';
return fs.writeFile(jsPath, js, function(err) {
if (err) {
return console.log(err.message);
return printLine(err.message);
} else if (opts.compile && opts.watch) {
return console.log("" + ((new Date).toLocaleTimeString()) + " - compiled " + source);
}
@@ -231,7 +239,7 @@
lint = function(file, js) {
var conf, jsl, printIt;
printIt = function(buffer) {
return console.log(file + ':\t' + buffer.toString().trim());
return printLine(file + ':\t' + buffer.toString().trim());
};
conf = __dirname + '/../extras/jsl.conf';
jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]);
@@ -253,7 +261,7 @@
}
return _results;
})();
return console.log(strings.join(' '));
return printLine(strings.join(' '));
};
parseOptions = function() {
@@ -286,11 +294,11 @@
};
usage = function() {
return console.log((new optparse.OptionParser(SWITCHES, BANNER)).help());
return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());
};
version = function() {
return console.log("CoffeeScript version " + CoffeeScript.VERSION);
return printLine("CoffeeScript version " + CoffeeScript.VERSION);
};
}).call(this);