426e23d8be
Format and tidy enforce only on lines changed in PRs (diff-only via git-clang-format and clang-tidy-diff.py) — existing files keep their current style until edited. Mass reformat deferred; .git-blame-ignore-revs stub is in place for whenever that happens. Sanitizer lane builds with -fsanitize=address,undefined and runs the unit suite. continue-on-error: true initially so we can triage findings without blocking PRs. UB categories pervasive in the Hash9 C cascade (alignment, signed-integer-overflow, vptr) are suppressed pending file-by-file fixes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
1.4 KiB
YAML
50 lines
1.4 KiB
YAML
# Triangles code style.
|
|
# Conservative: do not reflow long lines, do not reorganize includes.
|
|
# This config is enforced *only on changed lines* via `git clang-format` in CI,
|
|
# so it shapes new/edited code without touching legacy files until they're touched.
|
|
|
|
BasedOnStyle: LLVM
|
|
Language: Cpp
|
|
Standard: c++17
|
|
|
|
IndentWidth: 4
|
|
TabWidth: 4
|
|
UseTab: Never
|
|
ContinuationIndentWidth: 4
|
|
AccessModifierOffset: -4
|
|
|
|
ColumnLimit: 0 # Don't reflow long lines — too disruptive for legacy code.
|
|
ReflowComments: false
|
|
|
|
BreakBeforeBraces: Attach
|
|
AllowShortFunctionsOnASingleLine: Inline
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
|
|
PointerAlignment: Left
|
|
DerivePointerAlignment: false
|
|
SpaceAfterCStyleCast: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
SpaceBeforeAssignmentOperators: true
|
|
|
|
NamespaceIndentation: None
|
|
FixNamespaceComments: true
|
|
|
|
# Includes: don't shuffle — header order in this codebase is load-bearing
|
|
# (e.g. main.cpp's mix of project + system headers carries platform meaning).
|
|
SortIncludes: false
|
|
IncludeBlocks: Preserve
|
|
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
MaxEmptyLinesToKeep: 2
|
|
|
|
AlignAfterOpenBracket: Align
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
AlignTrailingComments: true
|
|
|
|
# Don't auto-add braces to single-statement bodies — too invasive.
|
|
InsertBraces: false
|