clang-format
Seit 0.50.0
Wenn clang-format installiert ist und eine .clang-format Datei im Hauptverzeichnis des Quellcodes des Projekts gefunden wird, fügt Meson automatisch ein clang-format Ziel hinzu, das alle C- und C++-Dateien neu formatiert (derzeit nur mit Ninja-Backend).
ninja -C builddir clang-format
Seit 0.58.0
Es ist möglich, die neu zu formatierenden Dateien mit optionalen .clang-format-include und .clang-format-ignore Dateien einzuschränken.
Die Datei .clang-format-include enthält eine Liste von Mustern, die mit den neu zu formatierenden Dateien übereinstimmen. Das Muster ** passt auf dieses Verzeichnis und alle Unterverzeichnisse rekursiv. Leere Zeilen und Zeilen, die mit # beginnen, werden ignoriert. Wenn .clang-format-include nicht gefunden wird, ist das Muster standardmäßig **/*, was bedeutet, dass alle Dateien rekursiv im Quellverzeichnis berücksichtigt werden, aber den Nachteil hat, den gesamten Quellbaum zu durchlaufen, was bei vielen Dateien langsam sein kann.
Beispiel für eine .clang-format-include Datei
# All files in src/ and its subdirectories
src/**/*
# All files in include/ but not its subdirectories
include/*
Die Datei .clang-format-ignore enthält eine Liste von Mustern, die mit den auszuschließenden Dateien übereinstimmen. Dateien, die mit der Include-Liste (siehe oben) übereinstimmen und einem der Ignore-Muster entsprechen, werden nicht neu formatiert. Im Gegensatz zu Include-Mustern unterstützen Ignore-Muster nicht ** und ein einzelnes * passt auf beliebige Zeichen, einschließlich Pfadtrennzeichen. Leere Zeilen und Zeilen, die mit # beginnen, werden ignoriert.
Das Build-Verzeichnis und Dateien ohne ein bekanntes C- oder C++-Suffix werden immer ignoriert.
Beispiel für eine .clang-format-ignore Datei
# Skip C++ files in src/ directory
src/*.cpp
Beachten Sie, dass .clang-format-ignore das gleiche Format wie von run-clang-format.py verwendet.
Ein neues Ziel clang-format-check wurde hinzugefügt. Es gibt einen Fehlercode zurück, wenn eine Datei neu formatiert werden muss. Dies ist für die Verwendung durch CI vorgesehen.
Seit 0.60.0
Wenn die Datei .clang-format-include fehlt und sich Quellcodedateien in einem Git-Repository befinden, werden nur von Git verfolgte Dateien einbezogen.
Die Ergebnisse der Suche sind