Prediction Source "History" does not use all of the PSReadline history

Open
#5,014 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
csharp
Domain
cli

Research direction

Reproduce the issue with Set-PSReadLineOption -MaximumHistoryCount 200000 and a history file containing more than 5128 entries. Start by tracing the history predictor path and how it selects entries, then verify that the oldest entries remain searchable and that the step 4 expected behavior is met.

Written by the indexing model from the issue text.

Description

Needs-Triage :mag:
Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest released version
  • Search the existing issues, especially the pinned issues.
Exception report
N/A
Screenshot

N/A

Environment data
PS Version: 7.5.4
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 133
BufferHeight: 38
Steps to reproduce
  1. Set Set-PSReadLineOption -MaximumHistoryCount 200000
  2. Not so sure how to arbitrarily fill the history but you need to ensure your history at (cat (get-psreadLineOption).HistorySavePath | Measure-Object).Count is over 5128
  3. Get the first item from history cat (get-psreadLineOption).HistorySavePath -First 1
  4. Start typing the string from Step 3 in powershell, the history predictor does not show up anything even thought the item is already in PSReadline history
Expected behavior

The step 4 above should show the item from PSReadline history

Actual behavior

The step 4 above does not show the item from PSReadline history. It seems like the last item it will be show is (Current History Count)-5127

Dominant language
C#
Stars
4.4k
Forks
341
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PowerShell/PSReadLine

All issues in PowerShell/PSReadLine

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.