stdlib-js / stdlib-js/stdlib

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

オープン
#2,069 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
difficulty: 4 Enhancement JavaScript Needs Discussion priority: Normal REPL RFC
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。