# clang-format-Konfiguration, abgeleitet aus dem bestehenden Wortsalat-Code
BasedOnStyle: LLVM

# Einrückung: 4 Leerzeichen, keine Tabs
IndentWidth: 4
TabWidth: 4
UseTab: Never
ContinuationIndentWidth: 4

# Allman-Stil: geschweifte Klammern für Funktionen, Schleifen, if/else stehen in eigenen Zeilen
BreakBeforeBraces: Allman

# Keine automatischen Zeilenumbrüche, der Code bricht lange Zeilen bereits selbst um
ColumnLimit: 0
ReflowComments: false

# Zeiger-Sternchen rechts: char *word, SearchWord *words
PointerAlignment: Right
DerivePointerAlignment: false

# Kein Leerzeichen vor der Klammer bei if/for/while und bei Funktionsaufrufen
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
  AfterControlStatements: false
  AfterFunctionDeclarationName: false
  AfterFunctionDefinitionName: false
SpaceAfterCStyleCast: false

# Kurze Konstrukte bleiben mehrzeilig
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortFunctionsOnASingleLine: None
AllowShortCaseLabelsOnASingleLine: false

# Geschweifte Initialisierer: {0, 0}
Cpp11BracedListStyle: true

# Includes nicht umsortieren (Reihenfolge ist teils bewusst gewählt)
SortIncludes: Never
IncludeBlocks: Preserve

# Leerzeilen
MaxEmptyLinesToKeep: 2
KeepEmptyLinesAtTheStartOfBlocks: true
