
PowerShell Completion Predictor
https://github.com/powershell/completionpredictor- Category
- Developer Tools
- Rank
- No. 1009Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- PowerShell
- GitHub
- 194 stars
- Latest release
- v0.1.1
- Date
About
Predictive IntelliSense plugin for PSReadLine that turns your shell history into inline command suggestions as you type.
What it does
It asks PowerShell’s existing tab-completion engine for candidates inside a separate session, then presents up to thirty useful completions. It keeps that session aligned with the current directory, user variables, and loaded modules. Dedicated Git handling adds context-aware suggestions for merge, branch, checkout, and push workflows.
Why it's ranked here
The design is practical and unusually instructive: it reuses native completion behavior while isolating prediction work from the interactive session. State synchronization makes results relevant to the user’s environment, and Git-specific logic adds real value. Its experimental status and deliberately narrow prediction coverage keep the verdict mixed.
What's good
A busy prediction session drops new work instead of allowing unsafe reentrancy. The tool filters unchanged results, preserves distinct tooltips, handles local path prefixes, and caps output volume. It also notices accepted command lines so cached repository information can be refreshed. The code doubles as a compact example for predictor authors.
Tradeoffs
Command-name prediction is intentionally disabled because discovery commonly exceeds the response deadline. Broad argument prediction is also constrained because filesystem enumeration and external custom completers can be slow. Git option prediction remains limited, concurrent keystroke requests may be ignored while the prediction session is occupied, and the project explicitly remains experimental.
How to use it well
Use it if you work interactively in modern PowerShell and want native completion candidates surfaced earlier, especially around paths and supported Git operations. It suits users comfortable installing a module and enabling plugin predictions. Do not treat it as comprehensive command discovery, broad Git flag assistance, or a stable finished product.
Technical notes+
src/Init.cs registers and unregisters CompletionPredictor through the PowerShell subsystem plugin model. src/CompletionPredictor.cs implements ICommandPredictor, runs CommandCompletion.CompleteInput in a dedicated runspace, prevents reentrancy with Interlocked.Exchange, and returns at most 30 suggestions. src/CompletionPredictorStateSync.cs synchronizes location, user variables, and loaded modules when the default runspace becomes available. src/CustomHandlers/git/GitHandler.cs caches repository state and routes merge, branch, checkout, and push input to handlers defined under src/CustomHandlers/git/GitNode.cs. src/PowerShell.Predictor.csproj targets net6.0 and references Microsoft.PowerShell.SDK 7.2.0 privately. build.ps1 publishes the module into bin/CompletionPredictor.
Observed
- License
- MIT License
- Primary language
- C#
- Interface
- PowerShell command-line prediction plugin registered through the subsystem plugin model
- Installation
- Distributed as a PowerShell module installable from PowerShell Gallery
- Runtime requirements
- PowerShell 7.2 or above and PSReadLine 2.2.2 or above
- Build surface
- .NET 6 SDK with a PowerShell build script
- Packaging
- PowerShell module manifest with a nested compiled assembly
Read from README.md, LICENSE, build.ps1, CHANGELOG.md, src/Init.cs, tools/helper.psm1, .github/SECURITY.md, .vsts-ci/releaseBuild.yml, .github/CODE_OF_CONDUCT.md, src/CompletionPredictor.cs, src/CompletionPredictor.psd1, src/PowerShell.Predictor.csproj, src/CompletionPredictorStateSync.cs, src/CustomHandlers/git/GitNode.cs, src/CustomHandlers/git/GitHandler.cs.
What it can do
Generate command suggestions from shell history
User's PowerShell command history → Inline command suggestions
Predict next command based on typing pattern
Partially typed command → Command completion suggestion
Analyze command usage patterns
Historical PowerShell commands → Predictive text recommendations
Provide real-time command completion
Characters typed in PowerShell prompt → Auto-complete suggestions
Learn from command execution history
Previously executed PowerShell commands → Improved prediction accuracy
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.