Update the command prediction interface when the right time comes

Open
#3,548 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp
Domain
cli

Research direction

Start by reviewing the OnSuggestionDisplayed interface and the filtering changes in PR #3543. Determine the required interface update when a broader predictor change is prioritized, such as OpenAI model support, and confirm the compatibility impact across supported PowerShell versions. Done means the interface communicates accurate displayed-result information without leaving existing consumers unsupported.

Written by the indexing model from the issue text.

Description

Area-Predictors Issue-Enhancement
Prerequisites
  • Write a descriptive title.
Description of the new feature/enhancement

With the changes from the PR https://github.com/PowerShell/PSReadLine/pull/3543, the results from a predictor now may be filtered out and thus don't get displayed even if there are available slots in the list view. So, this sort of breaks the assumption when designing the OnSuggestionDisplayed interface method.

// NOTE: when any duplicate results were skipped, the 'count' passed in here won't be accurate as it still includes
// those skipped ones. This is due to the limitation of the 'OnSuggestionDisplayed' interface method, which didn't
// assume any prediction results from a predictor could be filtered out at the initial design time. We will have to
// change the predictor interface to pass in accurate information, such as:
//   void OnSuggestionDisplayed(Guid predictorId, uint session, int countOrIndex, int[] skippedIndices)
//
// However, an interface change has huge impacts. At least, a newer version of PSReadLine will stop working on the
// existing PowerShell 7+ versions. For this particular issue, the chance that it could happen is low and the impact
// of the inaccurate feedback is also low, so we should delay this interface change until another highly-demanded
// change to the interface is required in future (e.g. changes related to supporting OpenAI models).

Open this issue to track the interface change regarding OnSuggestionDisplayed, when another highly-demanded change to the interface is required in future (e.g. changes related to supporting OpenAI models).

Proposed technical implementation details (optional)

No response

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.