On Sun, Jul 8, 2012 at 11:54 AM, Antoine van Wel
<[email protected]> 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.

[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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to