-
-
Notifications
You must be signed in to change notification settings - Fork 848
Open
Labels
EnhancementIssue or pull request for enhancing existing functionality.Issue or pull request for enhancing existing functionality.JavaScriptIssue involves or relates to JavaScript.Issue involves or relates to JavaScript.Needs DiscussionNeeds further discussion.Needs further discussion.REPLIssue or pull request specific to the project REPL.Issue or pull request specific to the project REPL.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 4Likely to be moderately difficult.Likely to be moderately difficult.priority: NormalNormal priority concern or feature request.Normal priority concern or feature request.
Description
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: [RFC]: add a
search
API to the REPL #2059- This RFC is related, but not the same. [RFC]: add a
search
API to the REPL #2059 concerns searching for functionality and documentation, while this RFC concerns efficient previous command lookup.
- This RFC is related, but not the same. [RFC]: add a
Questions
- How would multi-line commands be handled?
Other
- Node.js: https://nodejs.org/api/repl.html#reverse-i-search
- Julia: https://docs.julialang.org/en/v1/stdlib/REPL/index.html#Search-modes-1
Checklist
- I have read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:
.
Metadata
Metadata
Assignees
Labels
EnhancementIssue or pull request for enhancing existing functionality.Issue or pull request for enhancing existing functionality.JavaScriptIssue involves or relates to JavaScript.Issue involves or relates to JavaScript.Needs DiscussionNeeds further discussion.Needs further discussion.REPLIssue or pull request specific to the project REPL.Issue or pull request specific to the project REPL.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 4Likely to be moderately difficult.Likely to be moderately difficult.priority: NormalNormal priority concern or feature request.Normal priority concern or feature request.