Skip to content

Update the command prediction interface when the right time comes #3548

Open
@daxian-dbw

Description

@daxian-dbw

Prerequisites

  • Write a descriptive title.

Description of the new feature/enhancement

With the changes from the PR #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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions