gwm-cli 1.6.1

git worktree manager — TUI + CLI, native libgit2, per-repo bootstrap
Documentation
---
title: Filtre flou
description: La barre de filtre `/` — nucleo-matcher, filtres persistants, sémantique d'Esc.
---

# Filtre flou

Appuyez sur `/` pour ouvrir une barre de filtre en ligne en bas de la table des worktrees. Au fur et à mesure que vous tapez, la table se réduit en temps réel grâce à [`nucleo-matcher`](https://docs.rs/nucleo-matcher) — le même moteur flou utilisé par Helix et Zellij. Les correspondances sont classées selon la précision du résultat (une sous-chaîne contiguë l'emporte sur une sous-séquence dispersée), de sorte que le candidat le plus probable est en haut.

![Le filtre flou `/` qui restreint la liste en direct](../../2.tui/_assets/filter.gif)

## flux

```
/                            → la barre de filtre s'ouvre
auth                         → la table n'affiche plus que feat-99-user-authentication
<Enter>                       → le filtre persiste, la navigation revient sur la table
<Esc>                         → efface le filtre, la liste complète revient
```

## filtres persistants

Le filtre est persistant entre `Enter` et `Esc` :

- `j` / `k` / `gg` / `G` continuent de fonctionner sur le **sous-ensemble filtré** — la sélection reste dans les lignes visibles.
- Le titre de la table affiche `worktrees (N/M)` (visibles / total) pour que vous sachiez toujours combien est caché.
- Appuyez à nouveau sur `/` pour rouvrir la barre et **affiner** la requête existante — la barre se pré-remplit avec le filtre courant.
- `Esc` depuis la vue liste efface le filtre persistant avant d'envisager de quitter, de sorte que vous ne pouvez pas quitter accidentellement alors que vous vouliez abandonner le filtre.

## règles de correspondance

`nucleo-matcher` est un matcher de sous-séquence en smart-case :

- Requête tout en minuscules → insensible à la casse (`auth` correspond à `Authentication`)
- Requête en casse mixte → sensible à la casse (`Auth` ne correspond qu'à `Auth…`)
- Les espaces dans la requête sont des séparateurs **AND** (`mig db` correspond à `chore-12-db-migration` car `mig` et `db` sont tous deux présents, dans n'importe quel ordre)
- Les sous-chaînes contiguës marquent plus que les sous-séquences dispersées (`auth` l'emporte sur `aXuXtXh`)

Le matcher travaille sur le nom du worktree (basename du chemin), pas sur le nom de la branche. Si votre convention de branche est `<type>/#<N>-<slug>` et `[worktree].path_pattern = "{type}-{issue}-{desc}"` (la valeur par défaut), ils sont équivalents.

## mode sélecteur

Quand vous lancez `gwm switch` (ou que vous tapez `gcd` seul avec l'[assistant shell-init](/fr/getting-started/shell-init) installé), la même barre de filtre s'ouvre **immédiatement** au démarrage — le picker est la vue filtre par défaut. Les touches de création / suppression / bootstrap sont désactivées en picker mode ; `Enter` confirme la ligne surlignée et affiche son chemin sur stdout, `Esc` / `q` / `Ctrl-C` annule avec le code de sortie `1`.

## en lien

- [Raccourcis clavier → vue liste]/fr/tui/keybindings#vue-liste-par-défaut — chaque touche que la vue filtre écoute
- [Premiers pas → Shell init]/fr/getting-started/shell-init — câblez `gcd` pour sauter d'un worktree à l'autre en une seule frappe