On Sun, Jul 8, 2012 at 2:59 PM, Ben Noordhuis <i...@bnoordhuis.nl> wrote:
> On Sun, Jul 8, 2012 at 11:54 AM, Antoine van Wel
> <antoine.van....@gmail.com> wrote:
>> Hi,
>>
>> I'm programming a small command-line application and want to open up
>> an external editor, and hand back control to node after the user exits
>> the editor. Tried opening up vi with child_process.exec and .spawn but
>> that did not quite do what I expected.
>>
>>   1 var exec = require("child_process").exec;
>>   2
>>   3 var child = exec("vi /tmp/test", function(error, stdout, stderr) {
>>   4   console.log("and we're back...");
>>   5 });
>>
>>
>> Any thoughts?
>
> I see you've solved your problem but - for the record and for the sake
> of posterity - the reason that this doesn't work is that vi is an
> interactive application (in other words, requires a terminal) while
> exec() and friends set up dumb pipes (think `cat | vi - | cat` - won't
> work).
>
> Look at e.g. pty.js[1] if you need full terminal support.

Much appreciated. :-)


Antoine

>
> [1] https://github.com/chjj/pty.js/
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to