summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2010-06-08 13:05:21 -0700
committerRyan Dahl <ry@tinyclouds.org>2010-06-08 15:44:43 -0700
commitadc06dd70566c9909fa4d61aedac1181b2ddfbba (patch)
tree066729a5cd281379dc58eb5141ddec2a22e289be /doc
parent0377b12964fd269e70bf08098984bf2dd87d74d8 (diff)
downloadnode-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.markdown42
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.