Compare commits

...

2 commits

Author SHA1 Message Date
Sami Samhuri
332bef8c07 bump version to v0.0.3 2010-10-14 08:47:58 -07:00
Sami Samhuri
b9469be9b7 Use VISUAL, and run reset after the editor exits (fixes display bugs) 2010-10-14 08:47:33 -07:00
2 changed files with 11 additions and 9 deletions

View file

@ -39,24 +39,26 @@ exports.extend = function(obj) {
, _tmpfile = path.join(_tmpdir, 'node-repl-' + process.pid + '.js') , _tmpfile = path.join(_tmpdir, 'node-repl-' + process.pid + '.js')
obj.edit = function(editor) { obj.edit = function(editor) {
editor = editor || process.ENV['EDITOR'] editor = editor || process.ENV['VISUAL'] || process.ENV['EDITOR']
// TODO seed the file with _repl.context._ if the file doesn't exist yet // TODO seed the file with _repl.context._ if the file doesn't exist yet
pausingRepl(function(unpause) { pausingRepl(function(unpause) {
var fds = [process.openStdin(), process.stdout, process.stdout] var fds = [process.openStdin(), process.stdout, process.stdout]
, args = [_tmpfile] , args = [_tmpfile]
// handle things like 'mate -w' and 'emacsclient --server-file <filename>' // handle things like 'mate -w' and 'emacsclient --server-file <filename>'
if (editor.match(/\s/)) { if (editor.match(/\s/)) {
var words = editor.split(/\s+/) var words = editor.split(/\s+/) // FIXME this should do proper word splitting ...
args = words.slice(1).concat(args) args = words.slice(1).concat(args)
editor = words[0] editor = words[0]
} }
spawn(editor, args, {customFds: fds}).on('exit', function(code) { spawn(editor, args, {customFds: fds}).on('exit', function(code) {
// FIXME figure out why obj.run doesn't work properly here (output is skewed) // some editors change the terminal resulting in skewed output, clean up
if (code === 0) { spawn('reset').on('exit', function(_) {
runFile(_tmpfile, function() { unpause() }) if (code === 0) {
} else { runFile(_tmpfile, function() { unpause() })
unpause() } else {
} unpause()
}
})
}) })
}) })
} }

View file

@ -1,6 +1,6 @@
{ "name" : "repl-edit" { "name" : "repl-edit"
, "description" : "Edit code in the repl using a real text editor" , "description" : "Edit code in the repl using a real text editor"
, "version" : "0.0.2" , "version" : "0.0.3"
, "homepage" : "http://samhuri.net/node/repl-edit" , "homepage" : "http://samhuri.net/node/repl-edit"
, "author" : "Sami Samhuri <sami@samhuri.net>" , "author" : "Sami Samhuri <sami@samhuri.net>"
, "repository" : , "repository" :