posh-tabcomplete

Crates.io Build Status

Blazing fast tab completion for powershell.

demo

Features: * Fast startup and execution using nushell/nu-engine * Extendable using .nu files, with built in support for commmon tasks like git and npm run

By default, completions.nu is used. An alternative .nu file can be specified in the TABCOMPLETE_FILE environment variable.

Installation

Step 1. Install binary

| Repository | Instructions | | --------------- | --------------------------------------- | | [crates.io] | cargo install posh-tabcomplete --locked|

Step 2. Setup powershell

pwsh Invoke-Expression (&tabcomplete init | Out-String)

Built in completions

The completions packaged with the binary in completions.nu are: * git completions. These are also combined with git auto generated completions * npm completions * cargo completions

Benchmarks

Benchmark | Results ----------|----------- benchmark/init - startup time | tabcomplete: 102ms, posh-git: 432ms (4.24x faster) benchmark/complete - tab completion (100 branches) | tabcomplete: 71ms, posh-git: 172ms (2.42x faster)

Aliases / Function support

Functions are supported. For example, the completion of gco in the demo is: pwsh function gco() { git checkout $args }

There is no support for alias completions at this time.