---
title: Complétions de shell
description: "`gwm completions <shell>` et complétion dynamique des noms de worktree via `gwm list --format=names`."
---
# Complétions de shell
`gwm completions <shell>` affiche un script de complétion statique (généré à partir de l'arbre d'arguments clap vivant, donc il ne dérive jamais des sous-commandes réelles). Shells pris en charge : `zsh`, `bash`, `fish`, `powershell`, `elvish`.
## installation
```bash
# zsh — drop into the first writable fpath entry
gwm completions zsh > "${fpath[1]}/_gwm"
# bash — system-wide
gwm completions bash > ~/.local/share/bash-completion/completions/gwm
# fish
gwm completions fish > ~/.config/fish/completions/gwm.fish
# PowerShell — load into the current session (ephemeral)
gwm completions powershell | Out-File -Append -Encoding utf8 $PROFILE
# elvish
gwm completions elvish > ~/.config/elvish/lib/gwm.elv
```
Ouvrez un nouveau shell (ou faites `source` de votre fichier rc) et la complétion par tabulation est active pour chaque sous-commande, flag et value-enum (par ex. `gwm list --format=<TAB>` propose `table` / `names`).
## complétion dynamique des noms de worktree
Le script statique connaît les sous-commandes et les flags mais **pas** les worktrees de votre dépôt — ceux-ci changent à chaque fois que vous lancez `gwm create / remove`. Branchez un completer personnalisé à `gwm list --format=names` pour une complétion en direct de l'argument nom-de-worktree sur `path` / `cd` / `remove` / `bootstrap` / `sync` / `tmux` / `zellij` / `exec` / `clean` (qui résolvent tous leur positionnel via le même matcher flou).
### zsh
```zsh
_gwm_worktrees() { compadd $(gwm list --format=names 2>/dev/null) }
compdef _gwm_worktrees gwm-path gwm-cd gwm-remove gwm-bootstrap gwm-sync gwm-tmux gwm-zellij gwm-exec gwm-clean
```
(`gwm-path`, `gwm-cd`, etc. sont les noms de fonction auto-générés que le completer statique `_gwm` enregistre par sous-commande.)
### bash
```bash
_gwm_worktrees() {
local cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=($(compgen -W "$(gwm list --format=names 2>/dev/null)" -- "$cur"))
}
complete -F _gwm_worktrees -o default gwm
```
### fish
```fish
complete -c gwm -n "__fish_seen_subcommand_from path cd remove bootstrap sync tmux zellij exec clean" \
-f -a "(gwm list --format=names 2>/dev/null)"
```
## voir aussi
- [Premiers pas → Shell init](/fr/getting-started/shell-init) — le wrapper `gcd` qui accompagne `completions`
- [CLI → Référence des sous-commandes](/fr/cli/reference#gwm-list---formattablenames---detect-pr) — la sortie `--format=names` utilisée par les completers