Last active
March 3, 2018 08:22
-
-
Save asalant/4155716 to your computer and use it in GitHub Desktop.
CoffeeScript REPL using Node's REPL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
var vm = require('vm'); | |
var repl = require('repl'); | |
var CoffeeScript = require('coffee-script'); | |
repl.start({ | |
prompt: "coffee> ", | |
eval: function(code, context, file, cb) { | |
try { | |
code = CoffeeScript.compile(code, {filename: file, bare: true}); | |
cb(null, vm.runInContext(code, context, file)); | |
} | |
catch (err) { | |
cb(err); | |
} | |
} | |
}); |
i found out you can customise the "completer" function but then you have to complete the "globals" as well...
sounds like a lot of work, but in a way a bit of fun.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for sharing this one!
There is a problem tough which is the auto complete for some reason bugs out once i do that.
For instance:
then open the repl, type
clo<tab>
and it will auto complete toclock
but once you add the "." and press<tab>
it won't auto complete the "start" and "stop" properties.If you take the "eval" function out, and let it be "javascript" it will auto complete all levels...
any ideas?