Skip to content

Instantly share code, notes, and snippets.

@Rob-ot
Last active December 17, 2015 11:59
Show Gist options
  • Save Rob-ot/5606821 to your computer and use it in GitHub Desktop.
Save Rob-ot/5606821 to your computer and use it in GitHub Desktop.
repl.coffee!?
rob@rob-desktop:~/Projects/repl$ coffee repl.coffee
rob@rob-desktop:~/Projects/repl$ ls()
node_modules,package.json,repl.coffee
rob@rob-desktop:~/Projects/repl$ cd "node_modules"
/home/rob/Projects/repl/node_modules
rob@rob-desktop:~/Projects/repl/node_modules$ ls()
.bin,coffee-script
rob@rob-desktop:~/Projects/repl/node_modules$ cd ".."
/home/rob/Projects/repl
rob@rob-desktop:~/Projects/repl$ ls()
node_modules,package.json,repl.coffee
rob@rob-desktop:~/Projects/repl$ os.uptime()
685405.710621435
rob@rob-desktop:~/Projects/repl$ "Up: #{Math.floor(os.uptime())} Seconds"
Up: 685584 Seconds
rob@rob-desktop:~/Projects/repl$ repl.makePrompt = -> "Up: #{Math.floor(os.uptime())} Seconds: "
function () {
return "Up: " + (Math.floor(os.uptime())) + " Seconds: ";
}
Up: 685594 Seconds: ls()
node_modules,package.json,repl.coffee
Up: 685597 Seconds:
csrepl = require "./node_modules/coffee-script/lib/coffee-script/repl"
fs = require "fs"
os = require "os"
path = require "path"
homeFolder = process.env[if process.platform == "win32" then "USERPROFILE" else "HOME"]
cwd = __dirname
makePrompt = ->
"#{process.env['USER']}@#{os.hostname()}:#{cwd.replace(homeFolder, '~')}$ "
repl = csrepl.start
prompt: makePrompt()
writer: (data) ->
repl.prompt = repl.makePrompt()
data
repl.makePrompt = makePrompt
repl.context.ls = ->
fs.readdirSync cwd
repl.context.cd = (pathChange) ->
if !pathChange
return cwd = homeFolder
cwd = path.join cwd, pathChange
repl.context.repl = repl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment