Commit 68c388e96fe435aaf3df6f251cdf9f69116d01a6

Thomas de Grivel 2014-07-22T06:07:12

Read stdin using mbostock's rw

diff --git a/less.js b/less.js
index 5a5624a..c9bc52c 100644
--- a/less.js
+++ b/less.js
@@ -1,5 +1,5 @@
 var path = require('path');
-var fs = require('fs');
+var rw = require('rw');
 var less = require('less');
 
 var print_error = function (e) {
@@ -8,25 +8,22 @@ var print_error = function (e) {
 }
 
 try {
-  process.stdin.setEncoding('utf-8');
-  process.stdin.on('readable', function () {
-    var opt = JSON.parse(process.stdin.read());
+  var opt = JSON.parse(rw.readFileSync('/dev/stdin', 'utf8'));
 
-    var print_tree = function (e, tree) {
-      if (e)
-	print_error(e);
-      var css = tree.toCSS(opt.css);
-      process.stdout.write(css);
-    }
+  var print_tree = function (e, tree) {
+    if (e)
+      print_error(e);
+    var css = tree.toCSS(opt.css);
+    rw.writeFileSync('/dev/stdout', css, 'utf8');
+  }
 
-    var parse_data = function (e, data) {
-      if (e)
-	print_error(e);
-      new(less.Parser)(opt.parser).parse(data, print_tree)
-    }
+  var parse_data = function (e, data) {
+    if (e)
+      print_error(e);
+    new(less.Parser)(opt.parser).parse(data, print_tree)
+  }
 
-    fs.readFile(path.resolve(process.cwd(), opt.src), 'utf8', parse_data);
-  });
+  rw.readFile(path.resolve(process.cwd(), opt.src), 'utf8', parse_data);
 } catch (e) {
   print_error(e);
 }