config options around saving history items particularly when debugging
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading PSReadLine's current file-based history implementation and PowerShell's History.cs, which the issue identifies as both needing changes. Determine how debug commands are recorded and how history lookup displays them. Done means the proposed Save-Show, Save-NotShow, and NotSave behaviors are defined and implemented consistently across both components, with coverage for each mode.
Written by the indexing model from the issue text.
Description
Originally raised in the PowerShell/PowerShell repo in issue 24354 by @specerboatepic
Context / Rational
When stepping through a function, one usually "spams" a combination of 'v' 'n' 'c' in debug mode. Once the function ends, or the user enters 'q', debug mode ends but those collection of debug commands are saved in the history of inputted commands, making it harder to find relevant commands in the history (pressing up on the keyboard) while searching through it. These debug commands should be disposed of from the history when debug mode ends because they are no longer useful in the scope of the session.
Thoughts/Findings
This needs work in both PSReadLine and PowerShell's History.cs file hence these issues being linked together
This also opens up the potential for new control mechanisms in PSReadLine for how we handle things like sensitive entries going forward as per #4197 and as such is linked to my issue #1886
Proposed implementation in PSReadLine
- Provide config options to control saving history items when in debug mode - Save-Show/Save-DontShow/DontSave
- When config set to NotSave - do not add items into the current psreadline file implementation or any future db implementation
- When config set to Save-Show - add items into the current psreadline file implementation & show in the history lookup
- When config set to Save-NotShow - add items into the current psreadline file implementation but mark as DontShow or any future db implementation
Similarly we'd need almost same implementation in PowerShell from my understanding
- Dominant language
- C#
- Stars
- 4.4k
- Forks
- 341
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PowerShell/PSReadLine
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
Difficulty 1/5 Under an hour Newbie friendliness 68/100
PowerShell/PSReadLine#3470 · 3 reactions ·
All issues in PowerShell/PSReadLine
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
nightscout/nocturne#1425 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RayWangQvQ/BiliBiliToolPro#1137 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100