aboutsummaryrefslogtreecommitdiff
path: root/.clang-format
blob: 9633f2cc833d7410749f2a88080fcb2cea681395 (plain)
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
57
58
59
# Defines the ANGLE style for automatic reformatting.
# https://code.google.com/p/angleproject/wiki/CodingStandard
# See Clang docs: http://clang.llvm.org/docs/ClangFormatStyleOptions.html
BasedOnStyle: Chromium

# Allow double brackets such as std::vector<std::vector<int>>.
Standard: Cpp11

# Indent 4 spaces at a time.
IndentWidth: 4

# Keep lines under 100 columns long.
ColumnLimit: 100

# Always break before braces
BreakBeforeBraces: Custom
BraceWrapping:
  AfterCaseLabel: true
  AfterClass: true
  AfterControlStatement: true
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: true
  AfterStruct: true
  AfterUnion: true
  BeforeCatch: true
  BeforeElse: true
  IndentBraces: false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false

  # Keeps extern "C" blocks unindented.
  AfterExternBlock: false

# Indent case labels.
IndentCaseLabels: true

# Right-align pointers and references
PointerAlignment: Right

# ANGLE likes to align things as much as possible.
AlignOperands: true
AlignConsecutiveAssignments: true

# Use 2 space negative offset for access modifiers
AccessModifierOffset: -2

# TODO(jmadill): Decide if we want this on. Doesn't have an "all or none" mode.
AllowShortCaseLabelsOnASingleLine: false

# Useful for spacing out functions in classes
KeepEmptyLinesAtTheStartOfBlocks: true

# Indent nested PP directives.
IndentPPDirectives: AfterHash

# Include blocks style
IncludeBlocks: Preserve