0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib/internal
Ruben Bridgewater 9e4349e797
repl: implement reverse search
Add a reverse search that works similar to the ZSH one. It is
triggered with <ctrl> + r and <ctrl> + s. It skips duplicated history
entries and works with multiline statements. Matching entries indicate
the search parameter with an underscore and cancelling with <ctrl> + c
or escape brings back the original line.
Multiple matches in a single history entry work as well and are
matched in the order of the current search direction. The cursor is
positioned at the current match position of the history entry.
Changing the direction immediately checks for the next entry in the
expected direction from the current position on.
Entries are accepted as soon any button is pressed that doesn't
correspond with the reverse search.
The behavior is deactivated for simple terminals. They do not support
most ANSI escape codes that are necessary for this feature.

PR-URL: https://github.com/nodejs/node/pull/31006
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-12-25 11:16:38 +01:00
..
assert lib: flatten access to primordials 2019-11-25 10:28:15 +01:00
bootstrap bootstrap: use different scripts to setup different configurations 2019-12-20 22:10:13 +08:00
child_process lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
cluster cluster: remove unnecessary bind 2019-12-14 09:01:52 -05:00
console lib: replace Symbol.hasInstance by SymbolHasInstance 2019-12-16 09:47:30 +01:00
crypto lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
dns lib: enforce use of Promise from primordials 2019-12-16 08:40:14 +01:00
fs fs: allow overriding fs for streams 2019-12-18 07:03:37 -08:00
http2 http2: wait for session socket writable end on close/destroy 2019-12-25 11:07:04 +01:00
main lib: delay access to CLI option to pre-execution 2019-12-05 10:31:44 -08:00
modules lib: enforce use of Promise from primordials 2019-12-16 08:40:14 +01:00
per_context lib: enforce use of Promise from primordials 2019-12-16 08:40:14 +01:00
policy lib: enforce use of Array from primordials 2019-11-27 19:29:01 +01:00
process bootstrap: use different scripts to setup different configurations 2019-12-20 22:10:13 +08:00
readline repl,readline: refactor common code 2019-12-15 16:23:59 +01:00
repl repl: implement reverse search 2019-12-25 11:16:38 +01:00
source_map lib: flatten access to primordials 2019-11-25 10:28:15 +01:00
streams lib: replace Symbol.asyncIterator by SymbolAsyncIterator 2019-12-16 09:23:50 +01:00
test
util util: add colors to debuglog() 2019-12-25 11:09:16 +01:00
vm lib: further simplify assertions in vm/module 2019-12-23 13:06:29 -05:00
worker lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
assert.js benchmark,doc,lib,test: prepare for padding lint rule 2019-11-30 06:28:29 -08:00
async_hooks.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
buffer.js lib: enforce use of BigInt from primordials 2019-12-13 15:54:53 +01:00
child_process.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
cli_table.js lib: flatten access to primordials 2019-11-25 10:28:15 +01:00
constants.js
dgram.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
dtrace.js
encoding.js lib: update Symbol.toStringTag by SymbolToStringTag primordial 2019-12-13 15:15:21 -05:00
error-serdes.js lib: replace var w/ let 2019-11-26 18:43:41 +05:30
errors.js errors: improve ERR_INVALID_ARG_TYPE 2019-12-20 03:10:13 +01:00
fixed_queue.js lib: enforce use of Array from primordials 2019-11-27 19:29:01 +01:00
freelist.js http: remove unused hasItems() from freelist 2019-12-03 15:00:45 -08:00
freeze_intrinsics.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
http.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
idna.js
inspector_async_hook.js
js_stream_socket.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
linkedlist.js
net.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
options.js
priority_queue.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
querystring.js lib: enforce use of Array from primordials 2019-11-27 19:29:01 +01:00
readme.md
repl.js lib: enforce use of primordial Number 2019-11-30 13:58:25 +01:00
socket_list.js
stream_base_commons.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
timers.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
tls.js tls: for...of in _tls_common.js 2019-12-17 08:11:13 -05:00
trace_events_async_hooks.js lib: replace Symbol global by the primordials Symbol 2019-12-08 13:38:58 +01:00
tty.js tty: truecolor check moved before 256 check 2019-11-28 00:53:55 +01:00
url.js lib: update Symbol.toStringTag by SymbolToStringTag primordial 2019-12-13 15:15:21 -05:00
util.js lib: enforce use of Promise from primordials 2019-12-16 08:40:14 +01:00
v8_prof_polyfill.js lib: use strict equality comparison 2019-12-14 08:57:36 -05:00
v8_prof_processor.js lib: flatten access to primordials 2019-11-25 10:28:15 +01:00
validators.js lib: use static Number properties from primordials 2019-11-30 13:45:38 +01:00
worker.js lib: enforce use of Promise from primordials 2019-12-16 08:40:14 +01:00

Internal Modules

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These modules can be changed at any time. Reliance on these modules outside of core is not supported in any way.