stdlib
stdlib copied to clipboard
[RFC]: add reverse-search support in the REPL
Description
This RFC proposes adding reverse search support in the REPL. The basic idea is to enable entering a search mode in order to more efficiently cycle through previous commands. Currently, in order to run a previous command, one must hit the UP arrow key until finding the command. This RFC proposes enabling a mode where you can filter history to more quickly find a matching command.
This behavior is currently enabled in the built-in Node.js REPL and matches that found in ZSH.
For references better explaining the expected behavior, see below.
Related Issues
- General search API: https://github.com/stdlib-js/stdlib/issues/2059
- This RFC is related, but not the same. #2059 concerns searching for functionality and documentation, while this RFC concerns efficient previous command lookup.
Questions
- How would multi-line commands be handled?
Other
- Node.js: https://nodejs.org/api/repl.html#reverse-i-search
- https://github.com/nodejs/node/pull/24335
- https://github.com/nodejs/node/pull/31006
- Julia: https://docs.julialang.org/en/v1/stdlib/REPL/index.html#Search-modes-1
Checklist
- [X] I have read and understood the Code of Conduct.
- [X] Searched for existing issues and pull requests.
- [X] The issue name begins with
RFC:.
@kgryte I would like to work on this.