v0.30 - Wiretap
Tapping into other shells for additional completions.
Implicit Bridges
With CARAPACE_BRIDGES
default bridges can be enabled for commands not provided by carapace.
set-env CARAPACE_BRIDGES 'zsh,fish,bash,inshellisense'
Order defines the precedence (e.g. if zsh has a
git
completer it will be used instead of the one in fish).
Explicit Bridges
Additionally to user specs ~/.config/carapace/bridges.yaml
provides a simpler configuration of bridges.
gh: cobra
opentofu: complete
tsh: kingpin
bridges.yaml
has a higher precedence than Implicit Bridges but lower than internal completers and specs. So disable an internal completer with Excludes if you want to replace it with a bridge.
Currently available bridges:
- argcomplete
- bash
- carapace
- clap
- click
- cobra
- complete
- fish
- inshellisense
- kingpin
- powershell
- urfavecli
- yargs
- zsh
Bridging frameworks should be preferred to shells (e.g. zsh) as these generally work better and have less overhead.
Excludes
With CARAPACE_EXCLUDES
internal completers can be excluded.
Explicit Parsing Mode
So far flag parsing was implicitly disabled for bridge macros in specs. From now on this needs to be done explicitly.
# yaml-language-server: $schema=https://carapace.sh/schemas/command.json
name: az
description: Azure Command-Line Interface
parsing: disabled
completion:
positionalany: ["$carapace.bridge.Argcomplete([az])"]
interspersed
- mixed flags and positional arguments (default)non-interspersed
- flag parsing stopped after first positional argumentdisabled
- flag parsing disabled