ReferenceRéférence
LanguagesLangages
Which files xstyle checks, and which rules each language gets.Quels fichiers xstyle vérifie, et quelles règles chaque langage reçoit.
1. Files and rulesFichiers et règles
| Language | Files | Rules |
|---|---|---|
| C++ | .cpp .cc .cxx .hpp .hh .hxx .ipp .tpp .inl .h | generic + CPP-* + LU-* (libutils installed and used) |
| C | .c (+ .h without C++ in the project) | generic + the CPP-* rules marked c |
| Rust | .rs | generic + RS-* |
| Python | .py | generic + PY-* |
| Shell | .sh .bash | generic + SH-* |
| Lua, JS / TS, CMake | .lua, .js .mjs .ts .tsx .jsx, CMakeLists.txt .cmake | generic (+ CMAKE-* for CMake) |
| Makefile, YAML | Makefile .mk, .yml .yaml | generic (no indentation by 4, Makefile recipe tabs allowed) |
| JSON, Markdown | .json, .md | generic (Markdown: trailing spaces allowed) |
Any other file is skipped when a directory is scanned; given explicitly, it gets the basic generic rules. -l cpp,c,py,sh,rs,lua,js,cmake,make,yaml,json,md keeps some languages, -t only the most used one.
| Langage | Fichiers | Règles |
|---|---|---|
| C++ | .cpp .cc .cxx .hpp .hh .hxx .ipp .tpp .inl .h | génériques + CPP-* + LU-* (libutils installée et utilisée) |
| C | .c (+ .h sans C++ dans le projet) | génériques + les règles CPP-* marquées c |
| Rust | .rs | génériques + RS-* |
| Python | .py | génériques + PY-* |
| Shell | .sh .bash | génériques + SH-* |
| Lua, JS / TS, CMake | .lua, .js .mjs .ts .tsx .jsx, CMakeLists.txt .cmake | génériques (+ CMAKE-* pour CMake) |
| Makefile, YAML | Makefile .mk, .yml .yaml | génériques (pas d'indentation par 4, tabulations des recettes Makefile permises) |
| JSON, Markdown | .json, .md | génériques (Markdown : espaces en fin de ligne permis) |
Tout autre fichier est ignoré quand un dossier est parcouru ; donné explicitement, il reçoit les règles génériques de base. -l cpp,c,py,sh,rs,lua,js,cmake,make,yaml,json,md garde certains langages, -t seulement le plus présent.
2. Special casesCas particuliers
- Rust tests: the
#[cfg(test)]module,tests/,benches/andexamples/mayunwrapandpanic. - Templates: a file with
{{NAME}}placeholders is not valid code yet, only the generic rules are checked there. - Skipped paths: hidden folders,
build*,cmake-build-*,third_party,extern,vendor,node_modulesand thegenerated_*files;-eadds more.
The rules of each family are listed in the rules.
- Tests Rust : le module
#[cfg(test)],tests/,benches/etexamples/peuvent faireunwrapetpanic. - Templates : un fichier avec des placeholders
{{NAME}}n'est pas encore du code valide, seules les règles génériques y sont vérifiées. - Chemins ignorés : dossiers cachés,
build*,cmake-build-*,third_party,extern,vendor,node_moduleset les fichiersgenerated_*;-een ajoute.
Les règles de chaque famille sont dans les règles.