posh-tabcomplete 0.1.3

Blazing fast tab completion for powershell.
Documentation

posh-tabcomplete

Crates.io Build Status

Blazing fast tab completion for powershell and pwsh.

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

There are binaries available in releases or with one of these commands:

Repository Instructions
crates.io cargo install posh-tabcomplete --locked

Step 2. Setup powershell

Add this line to your profile, you can edit this by typing code $PROFILE in powershell:

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

Built in completions

The completions packaged with the binary in completions.nu are:

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:

function gco() { git checkout $args }

There is no support for alias completions at this time.