-
Notifications
You must be signed in to change notification settings - Fork 0
/
.clang-format
56 lines (49 loc) · 2.01 KB
/
.clang-format
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# See docs/style.md for rationale and broader style considerations.
# While this helps for automating style considerations, clang-format is still
# not perfect, so you should still use your best judgement. Thus, you should
# use the client-side hook (in ./hooks/) that suggests changes to your patches.
# clang-format version 8.0.0 (git@github.com:fiblit/clang.git)
# LLVM version (release_80)
---
Language: Cpp
# Principle 10
BasedOnStyle: LLVM
# Important 1: Avoid Righthand Alignments
AlignAfterOpenBracket: AlwaysBreak
AlignOperands: false
AlignTrailingComments: false
AlwaysBreakBeforeMultilineStrings: true
BreakConstructorInitializers: AfterColon # No Visual Indent!
PenaltyReturnTypeOnItsOwnLine: 1000 # Awkward without DanglingParentheses: true
# Important 2: Semantic Lists should look like Typographic Lists
AllowShortCaseLabelsOnASingleLine: true
BreakBeforeBinaryOperators: NonAssignment # Not All to be like structs/funcs
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DanglingParenthesis: true # only with the 8.0.0 fork
# Important 3: Semantic Blocks should look like typographic block-indents
AllowAllParametersOfDeclarationOnNextLine: false
# AllowAllArgumentsOfCallOnNextLine: false # only with future 8.0.0 fork
BinPackArguments: false
BinPackParameters: false
# BinPackOperators: false # only with future 8.0.0 fork
# ChainAlignment: AlwaysBreak # only with future 8.0.0 fork
# Important 4: Alignment of Syntax
PointerAlignment: Left
SpaceBeforeCtorInitializerColon: false # only with 8.0.0
SpaceBeforeInheritanceColon: false # only with 8.0.0
# High-Level 1: Header Include Order
IncludeCategories:
- Regex: '^".*"'
Priority: 1
- Regex: '^<.*\.h"'
Priority: 2
- Regex: '<.*'
Priority: 3
- Regex: '.*'
Priority: 4
# Trivial 2: Indentation (4-SPACEs)
AccessModifierOffset: -4
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4 # Awkward without DanglingParentheses: true
IndentWidth: 4
IndentPPDirectives: AfterHash