stdlib icon indicating copy to clipboard operation
stdlib copied to clipboard

[RFC]: add reverse-search support in the REPL

Open kgryte opened this issue 1 year ago • 1 comments

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 avatar Mar 27 '24 07:03 kgryte

@kgryte I would like to work on this.

kawaho2 avatar Apr 11 '24 08:04 kawaho2