# Glob- en .gitignore-tester

Test glob-patronen en .gitignore-regels op een lijst paden en zie welke paden passen en welke regel dat deed.

https://codeknife.dev/nl/glob-tester/

## Wat het doet

Test glob-patronen en `.gitignore`-regels op een lijst paden. Elk pad krijgt een vinkje of kruisje, met ernaast het patroon dat het bepaalde, zodat je ziet waarom `src/lib/util.test.ts` wel of niet meetelt.

## Zo gebruik je het

1. Plak één pad per regel, of sleep een tekstbestand, in **Paden**.
2. Schrijf één patroon per regel in **Patronen**. Regels die met `#` beginnen zijn commentaar.
3. Kies **Glob**, **Bash** of **Gitignore**, en toon alle paden, alleen de treffers of alleen de missers.
4. Kopieer het resultaat.

## Voorbeelden

Met de patronen `src/**/*.ts` en `!**/*.test.ts` past het pad `src/lib/util.ts` en `src/lib/util.test.ts` niet, omdat de uitsluiting wint. Met de `.gitignore`-regels `*.log` en `!keep.log` wordt `app.log` genegeerd en `keep.log` niet.

## Goed om te weten

- `*` blijft binnen één map, `**` loopt door mappen heen, en `?`, `[ab]` en `{a,b}` werken zoals in picomatch.
- Puntbestanden zoals `.env` passen alleen als je **Verborgen bestanden meenemen** aanzet of het patroon de punt noemt.
- Bij Glob en Bash sluit een patroon dat met `!` begint uit wat de andere patronen vonden. Bij Gitignore wint de laatste passende regel, zoals in Git.
- Bash leest `**` als een gewone `*`, zoals een shell zonder `globstar`.
- Paden worden als tekst vergeleken. Er wordt niets van een schijf gelezen.

## Wat betekenen de drie syntaxen?

Glob is de picomatch-syntaxis die de meeste buildtools gebruiken: * blijft binnen één map, ** loopt door mappen heen, en accolades zoals {a,b}, klassen zoals [ab] en ? werken ook. Bash leest ** als een gewone *, zoals een shell zonder globstar. Gitignore volgt .gitignore-regels: een slash aan het eind betekent een map, een slash vooraan verankert aan de root, en een latere !-regel neemt terug wat een eerdere regel negeerde.

## Veelgestelde vragen

### Welke regel staat naast een pad?

Het eerste patroon dat past. Bij glob en bash toont een pad dat door een uitsluiting (een patroon met !) wegvalt die uitsluiting. Bij gitignore staat de regel die het pad negeerde.

### Waarom past * niet op een bestand dat met een punt begint?

Globs slaan puntbestanden over tenzij het patroon de punt noemt. Zet Verborgen bestanden meenemen aan zodat * en ? ze wel vinden, zoals bash dotglob. Een .gitignore heeft die schakelaar niet.

### Verstuurt deze tool mijn paden ergens naartoe?

Nee. Alles gebeurt in je browser. Wat je typt wordt nooit naar onze servers gestuurd.