[RFC]: add reverse-search support in the REPL
- 主要言語
- JavaScript
- スター
- 6k
- フォーク
- 1.3k
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 611
説明
### 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](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [X] Searched for existing issues and pull requests.
- [X] The issue name begins with `RFC:`.
コントリビューションガイド
調査の方向性
Start with the Node.js REPL reverse-i-search documentation and the linked Node.js pull requests, then compare the Julia search-mode reference. The issue leaves multi-line command handling and the implementation entry points unresolved; done would require an agreed design for history filtering and search-mode behavior.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, node.js, zsh
- 領域
- cli, developer-experience
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100