xstylev1.0.0
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

LanguageFilesRules
C++.cpp .cc .cxx .hpp .hh .hxx .ipp .tpp .inl .hgeneric + CPP-* + LU-* (libutils installed and used)
C.c (+ .h without C++ in the project)generic + the CPP-* rules marked c
Rust.rsgeneric + RS-*
Python.pygeneric + PY-*
Shell.sh .bashgeneric + SH-*
Lua, JS / TS, CMake.lua, .js .mjs .ts .tsx .jsx, CMakeLists.txt .cmakegeneric (+ CMAKE-* for CMake)
Makefile, YAMLMakefile .mk, .yml .yamlgeneric (no indentation by 4, Makefile recipe tabs allowed)
JSON, Markdown.json, .mdgeneric (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.

LangageFichiersRègles
C++.cpp .cc .cxx .hpp .hh .hxx .ipp .tpp .inl .hgé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.rsgénériques + RS-*
Python.pygénériques + PY-*
Shell.sh .bashgénériques + SH-*
Lua, JS / TS, CMake.lua, .js .mjs .ts .tsx .jsx, CMakeLists.txt .cmakegénériques (+ CMAKE-* pour CMake)
Makefile, YAMLMakefile .mk, .yml .yamlgénériques (pas d'indentation par 4, tabulations des recettes Makefile permises)
JSON, Markdown.json, .mdgé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/ and examples/ may unwrap and panic.
  • 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_modules and the generated_* files; -e adds more.

The rules of each family are listed in the rules.

  • Tests Rust : le module #[cfg(test)], tests/, benches/ et examples/ peuvent faire unwrap et panic.
  • 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_modules et les fichiers generated_* ; -e en ajoute.

Les règles de chaque famille sont dans les règles.