aboutsummaryrefslogtreecommitdiffstats
path: root/.clang-format
diff options
context:
space:
mode:
authoruser <user@clank>2026-07-18 20:57:37 +0200
committeruser <user@clank>2026-07-18 20:57:37 +0200
commit3d2305809e37c446901ea477e065167c997bf54c (patch)
treedb5d84ced4b47ed76dd514bec774cb008793fada /.clang-format
parentdocs: concise README (networking + demo gif up front); internals.md (diff)
downloadgbos-3d2305809e37c446901ea477e065167c997bf54c.tar.gz
gbos-3d2305809e37c446901ea477e065167c997bf54c.tar.xz
gbos-3d2305809e37c446901ea477e065167c997bf54c.zip
hooks: clang-format pre-commit (changed lines only) + .clang-format
Same setup as sl0pboy: git-clang-format scopes formatting to the lines each commit touches, re-adds the formatted files, and refuses partially-staged C files. Style file matches the house style (4-space, attached braces, 100 cols, short cases/ifs inline, no include sorting - order is load-bearing for SDCC userland). Enable once: git config core.hooksPath hooks
Diffstat (limited to '.clang-format')
-rw-r--r--.clang-format23
1 files changed, 23 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..e338db1
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,23 @@
+# House style for sl0pboy/gbos C: 4-space, attached braces, dense-but-readable.
+# Tuned to minimize churn against the existing hand-formatted code.
+BasedOnStyle: LLVM
+IndentWidth: 4
+TabWidth: 4
+UseTab: Never
+ColumnLimit: 100
+PointerAlignment: Right
+BreakBeforeBraces: Attach
+AllowShortCaseLabelsOnASingleLine: true
+AllowShortFunctionsOnASingleLine: All
+AllowShortIfStatementsOnASingleLine: AllIfsAndElse
+AllowShortLoopsOnASingleLine: true
+AllowShortBlocksOnASingleLine: Always
+AlignTrailingComments: true
+SpacesBeforeTrailingComments: 2
+AlignConsecutiveMacros: Consecutive
+SortIncludes: Never
+IndentCaseLabels: true
+MaxEmptyLinesToKeep: 2
+KeepEmptyLinesAtTheStartOfBlocks: true
+AlignArrayOfStructures: None
+ReflowComments: false