diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2010-06-08 13:05:21 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-06-08 15:44:43 -0700 |
commit | adc06dd70566c9909fa4d61aedac1181b2ddfbba (patch) | |
tree | 066729a5cd281379dc58eb5141ddec2a22e289be /doc | |
parent | 0377b12964fd269e70bf08098984bf2dd87d74d8 (diff) | |
download | node-new-adc06dd70566c9909fa4d61aedac1181b2ddfbba.tar.gz |
Add NODE_NO_READLINE check for REPL
Setting this environmental variable to a non-zero integer will start all
REPL interfaces without readline. For use with rlwrap.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api.markdown | 42 |
1 files changed, 12 insertions, 30 deletions
diff --git a/doc/api.markdown b/doc/api.markdown index c9a2add9d8..be4cd38176 100644 --- a/doc/api.markdown +++ b/doc/api.markdown @@ -2760,21 +2760,18 @@ The escape function used by `querystring.stringify`, provided so that it could b The unescape function used by `querystring.parse`, provided so that it could be overridden if necessary. + ## REPL -A Read-Eval-Print-Loop is available both as a standalone program and easily +A Read-Eval-Print-Loop (REPL) is available both as a standalone program and easily includable in other programs. REPL provides a way to interactively run JavaScript and see the results. It can be used for debugging, testing, or just trying things out. -The standalone REPL is called `node-repl` and is installed at -`$PREFIX/bin/node-repl`. +By executing `node` without any arguments from the command-line you will be +dropped into the REPL. It has simplistic emacs line-editting. - mjr:~$ /usr/local/bin/node-repl - Welcome to the Node.js REPL. - Enter ECMAScript at the prompt. - Tip 1: Use 'rlwrap node-repl' for a better interface - Tip 2: Type Control-D to exit. + mjr:~$ node Type '.help' for options. node> a = [ 1, 2, 3]; [ 1, 2, 3 ] @@ -2785,6 +2782,13 @@ The standalone REPL is called `node-repl` and is installed at 2 3 +For advanced line-editors, start node with the environmental variable `NODE_NO_READLINE=1`. +This will start the REPL in canonical terminal settings which will allow you to use with `rlwrap`. + +For example, you could add this to your bashrc file: + + alias node="env NODE_NO_READLINE=1 rlwrap node" + ### repl.start(prompt, stream) @@ -2824,28 +2828,6 @@ By starting a REPL from a Unix socket-based server instead of stdin, you can connect to a long-running node process without restarting it. -### readline support - -Interactive command history for REPL is available from external programs like `rlwrap` -or `socat`. These programs are available from many Unix package managers. - -To start the standalone REPL with `rlwrap`: - - rlwrap node-repl - -It might be convenient to use this alias in your shell configuration: - - alias repl='rlwrap node-repl' - -Using `socat` to connect to a Unix socket: - - socat READLINE UNIX-CONNECT:/tmp/node-repl-sock - -Using `socat` to connect to a TCP socket on localhost: - - socat READLINE TCP-CONNECT:localhost:5001 - - ### REPL Features Inside the REPL, Control+D will exit. Multi-line expressions can be input. |