merging in #1268 ... michaelficarra's colored REPL.

This commit is contained in:
Jeremy Ashkenas
2011-04-09 17:42:03 -07:00
2 changed files with 15 additions and 3 deletions

View File

@@ -1,9 +1,14 @@
(function() {
var ACCESSOR, CoffeeScript, SIMPLEVAR, Script, autocomplete, backlog, completeAttribute, completeVariable, error, getCompletions, getPropertyNames, readline, repl, run, stdin, stdout;
var ACCESSOR, CoffeeScript, SIMPLEVAR, Script, autocomplete, backlog, completeAttribute, completeVariable, enableColours, error, getCompletions, getPropertyNames, inspect, readline, repl, run, stdin, stdout;
var __hasProp = Object.prototype.hasOwnProperty;
CoffeeScript = require('./coffee-script');
readline = require('readline');
inspect = require('util').inspect;
Script = require('vm').Script;
enableColours = false;
if (process.platform !== 'win32') {
enableColours = !process.env.NODE_DISABLE_COLORS;
}
stdin = process.openStdin();
stdout = process.stdout;
error = function(err) {
@@ -24,7 +29,7 @@
filename: 'repl'
});
if (val !== void 0) {
process.stdout.write(val + '\n');
process.stdout.write(inspect(val, false, 2, enableColours) + '\n');
}
} catch (err) {
error(err);

View File

@@ -7,10 +7,16 @@
# Require the **coffee-script** module to get access to the compiler.
CoffeeScript = require './coffee-script'
readline = require 'readline'
{inspect} = require 'util'
{Script} = require 'vm'
# REPL Setup
# Config
enableColours = no
unless process.platform is 'win32'
enableColours = not process.env.NODE_DISABLE_COLORS
# Start by opening up `stdin` and `stdout`.
stdin = process.openStdin()
stdout = process.stdout
@@ -32,7 +38,8 @@ run = (buffer) ->
backlog = ''
try
val = CoffeeScript.eval code, bare: on, globals: on, filename: 'repl'
process.stdout.write val + '\n' if val isnt undefined
unless val is undefined
process.stdout.write inspect(val, no, 2, enableColours) + '\n'
catch err
error err
repl.prompt()