xref: /aosp_15_r20/external/skia/.clang-format (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker---
2*c8dee2aaSAndroid Build Coastguard Worker# Typical usage is to apply this to the lines you've modified in a local
3*c8dee2aaSAndroid Build Coastguard Worker# change. Make sure to install git-clang-format [1] by adding it to your
4*c8dee2aaSAndroid Build Coastguard Worker# path and make it executable.
5*c8dee2aaSAndroid Build Coastguard Worker#
6*c8dee2aaSAndroid Build Coastguard Worker# Stage your changes with "git add" and then run:
7*c8dee2aaSAndroid Build Coastguard Worker# $ git clang-format
8*c8dee2aaSAndroid Build Coastguard Worker# You can optionally use the "--" file filter to restrict formatting to certain
9*c8dee2aaSAndroid Build Coastguard Worker# files or directories. The tool will display  the list of files that were
10*c8dee2aaSAndroid Build Coastguard Worker# modified. These have been modified without being staged. You can review the
11*c8dee2aaSAndroid Build Coastguard Worker# modifications using "git diff".
12*c8dee2aaSAndroid Build Coastguard Worker#
13*c8dee2aaSAndroid Build Coastguard Worker# Some clients are running on older versions of clang-format, so please limit
14*c8dee2aaSAndroid Build Coastguard Worker# flag choices to options supported by clang-format version 10 and below.
15*c8dee2aaSAndroid Build Coastguard Worker# - XcodeClangFormat: clang-format 10
16*c8dee2aaSAndroid Build Coastguard Worker# - bin/clang-format: clang-format 11
17*c8dee2aaSAndroid Build Coastguard Worker# - brew:             clang-format 14
18*c8dee2aaSAndroid Build Coastguard Worker#
19*c8dee2aaSAndroid Build Coastguard Worker# [1] https://source.chromium.org/chromium/chromium/src/+/HEAD:third_party/clang-format/script/git-clang-format
20*c8dee2aaSAndroid Build Coastguard Worker#
21*c8dee2aaSAndroid Build Coastguard Worker# IF YOU UPDATE THE CPP SECTION ALSO UPDATE THE OBJECTIVE-C SECTION. IF YOU
22*c8dee2aaSAndroid Build Coastguard Worker# KNOW HOW TO SHARE SETTINGS BETWEEN THE TWO YOU'RE A TRUE HERO.
23*c8dee2aaSAndroid Build Coastguard Worker
24*c8dee2aaSAndroid Build Coastguard WorkerLanguage:        Cpp
25*c8dee2aaSAndroid Build Coastguard Worker# BasedOnStyle:  Google
26*c8dee2aaSAndroid Build Coastguard WorkerAccessModifierOffset: -4
27*c8dee2aaSAndroid Build Coastguard WorkerAlignAfterOpenBracket: Align
28*c8dee2aaSAndroid Build Coastguard WorkerAlignConsecutiveAssignments: false
29*c8dee2aaSAndroid Build Coastguard WorkerAlignConsecutiveDeclarations: false
30*c8dee2aaSAndroid Build Coastguard WorkerAlignEscapedNewlinesLeft: true
31*c8dee2aaSAndroid Build Coastguard WorkerAlignOperands:   true
32*c8dee2aaSAndroid Build Coastguard WorkerAlignTrailingComments: true
33*c8dee2aaSAndroid Build Coastguard WorkerAllowAllParametersOfDeclarationOnNextLine: true
34*c8dee2aaSAndroid Build Coastguard WorkerAllowShortBlocksOnASingleLine: false
35*c8dee2aaSAndroid Build Coastguard WorkerAllowShortCaseLabelsOnASingleLine: false
36*c8dee2aaSAndroid Build Coastguard WorkerAllowShortFunctionsOnASingleLine: All
37*c8dee2aaSAndroid Build Coastguard WorkerAllowShortIfStatementsOnASingleLine: true
38*c8dee2aaSAndroid Build Coastguard WorkerAllowShortLoopsOnASingleLine: true
39*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakAfterDefinitionReturnType: None
40*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakAfterReturnType: None
41*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakBeforeMultilineStrings: true
42*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakTemplateDeclarations: false
43*c8dee2aaSAndroid Build Coastguard WorkerBinPackArguments: false
44*c8dee2aaSAndroid Build Coastguard WorkerBinPackParameters: false
45*c8dee2aaSAndroid Build Coastguard WorkerBraceWrapping:
46*c8dee2aaSAndroid Build Coastguard Worker  AfterClass:      false
47*c8dee2aaSAndroid Build Coastguard Worker  AfterControlStatement: false
48*c8dee2aaSAndroid Build Coastguard Worker  AfterEnum:       false
49*c8dee2aaSAndroid Build Coastguard Worker  AfterFunction:   false
50*c8dee2aaSAndroid Build Coastguard Worker  AfterNamespace:  false
51*c8dee2aaSAndroid Build Coastguard Worker  AfterObjCDeclaration: false
52*c8dee2aaSAndroid Build Coastguard Worker  AfterStruct:     false
53*c8dee2aaSAndroid Build Coastguard Worker  AfterUnion:      false
54*c8dee2aaSAndroid Build Coastguard Worker  BeforeCatch:     false
55*c8dee2aaSAndroid Build Coastguard Worker  BeforeElse:      false
56*c8dee2aaSAndroid Build Coastguard Worker  IndentBraces:    false
57*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeBinaryOperators: None
58*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeBraces: Custom
59*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeTernaryOperators: true
60*c8dee2aaSAndroid Build Coastguard WorkerBreakConstructorInitializersBeforeComma: true
61*c8dee2aaSAndroid Build Coastguard WorkerBreakAfterJavaFieldAnnotations: false
62*c8dee2aaSAndroid Build Coastguard WorkerBreakStringLiterals: true
63*c8dee2aaSAndroid Build Coastguard WorkerColumnLimit:     100
64*c8dee2aaSAndroid Build Coastguard WorkerCommentPragmas:  '^ IWYU pragma:'
65*c8dee2aaSAndroid Build Coastguard WorkerConstructorInitializerAllOnOneLineOrOnePerLine: true
66*c8dee2aaSAndroid Build Coastguard WorkerConstructorInitializerIndentWidth: 8
67*c8dee2aaSAndroid Build Coastguard WorkerContinuationIndentWidth: 8
68*c8dee2aaSAndroid Build Coastguard WorkerCpp11BracedListStyle: true
69*c8dee2aaSAndroid Build Coastguard WorkerDerivePointerAlignment: false
70*c8dee2aaSAndroid Build Coastguard WorkerDisableFormat:   false
71*c8dee2aaSAndroid Build Coastguard WorkerExperimentalAutoDetectBinPacking: false
72*c8dee2aaSAndroid Build Coastguard WorkerForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
73*c8dee2aaSAndroid Build Coastguard WorkerIncludeCategories:
74*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '^<.*\.h>'
75*c8dee2aaSAndroid Build Coastguard Worker    Priority:        1
76*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '^<.*'
77*c8dee2aaSAndroid Build Coastguard Worker    Priority:        2
78*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '.*'
79*c8dee2aaSAndroid Build Coastguard Worker    Priority:        3
80*c8dee2aaSAndroid Build Coastguard WorkerIncludeIsMainRegex: '([-_](test|unittest))?$'
81*c8dee2aaSAndroid Build Coastguard WorkerIndentCaseLabels: true
82*c8dee2aaSAndroid Build Coastguard WorkerIndentWidth:     4
83*c8dee2aaSAndroid Build Coastguard WorkerIndentWrappedFunctionNames: false
84*c8dee2aaSAndroid Build Coastguard WorkerJavaScriptQuotes: Leave
85*c8dee2aaSAndroid Build Coastguard WorkerJavaScriptWrapImports: true
86*c8dee2aaSAndroid Build Coastguard WorkerKeepEmptyLinesAtTheStartOfBlocks: false
87*c8dee2aaSAndroid Build Coastguard WorkerMaxEmptyLinesToKeep: 1
88*c8dee2aaSAndroid Build Coastguard WorkerNamespaceIndentation: None
89*c8dee2aaSAndroid Build Coastguard WorkerObjCBlockIndentWidth: 2
90*c8dee2aaSAndroid Build Coastguard WorkerObjCSpaceAfterProperty: false
91*c8dee2aaSAndroid Build Coastguard WorkerObjCSpaceBeforeProtocolList: false
92*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakBeforeFirstCallParameter: 1
93*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakComment: 300
94*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakFirstLessLess: 120
95*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakString: 1000
96*c8dee2aaSAndroid Build Coastguard WorkerPenaltyExcessCharacter: 1000000
97*c8dee2aaSAndroid Build Coastguard WorkerPenaltyReturnTypeOnItsOwnLine: 200
98*c8dee2aaSAndroid Build Coastguard WorkerPointerAlignment: Left
99*c8dee2aaSAndroid Build Coastguard WorkerReflowComments:  true
100*c8dee2aaSAndroid Build Coastguard WorkerSortIncludes:    true
101*c8dee2aaSAndroid Build Coastguard WorkerSpaceAfterCStyleCast: false
102*c8dee2aaSAndroid Build Coastguard WorkerSpaceAfterTemplateKeyword: true
103*c8dee2aaSAndroid Build Coastguard WorkerSpaceBeforeAssignmentOperators: true
104*c8dee2aaSAndroid Build Coastguard WorkerSpaceBeforeParens: ControlStatements
105*c8dee2aaSAndroid Build Coastguard WorkerSpaceInEmptyParentheses: false
106*c8dee2aaSAndroid Build Coastguard WorkerSpacesBeforeTrailingComments: 2
107*c8dee2aaSAndroid Build Coastguard WorkerSpacesInAngles:  false
108*c8dee2aaSAndroid Build Coastguard WorkerSpacesInContainerLiterals: true
109*c8dee2aaSAndroid Build Coastguard WorkerSpacesInCStyleCastParentheses: false
110*c8dee2aaSAndroid Build Coastguard WorkerSpacesInParentheses: false
111*c8dee2aaSAndroid Build Coastguard WorkerSpacesInSquareBrackets: false
112*c8dee2aaSAndroid Build Coastguard WorkerStandard:        Auto
113*c8dee2aaSAndroid Build Coastguard WorkerTabWidth:        4
114*c8dee2aaSAndroid Build Coastguard WorkerUseTab:          Never
115*c8dee2aaSAndroid Build Coastguard Worker---
116*c8dee2aaSAndroid Build Coastguard WorkerLanguage:        ObjC
117*c8dee2aaSAndroid Build Coastguard WorkerAccessModifierOffset: -4
118*c8dee2aaSAndroid Build Coastguard WorkerAlignAfterOpenBracket: Align
119*c8dee2aaSAndroid Build Coastguard WorkerAlignConsecutiveAssignments: false
120*c8dee2aaSAndroid Build Coastguard WorkerAlignConsecutiveDeclarations: false
121*c8dee2aaSAndroid Build Coastguard WorkerAlignEscapedNewlinesLeft: true
122*c8dee2aaSAndroid Build Coastguard WorkerAlignOperands:   true
123*c8dee2aaSAndroid Build Coastguard WorkerAlignTrailingComments: true
124*c8dee2aaSAndroid Build Coastguard WorkerAllowAllParametersOfDeclarationOnNextLine: true
125*c8dee2aaSAndroid Build Coastguard WorkerAllowShortBlocksOnASingleLine: false
126*c8dee2aaSAndroid Build Coastguard WorkerAllowShortCaseLabelsOnASingleLine: false
127*c8dee2aaSAndroid Build Coastguard WorkerAllowShortFunctionsOnASingleLine: All
128*c8dee2aaSAndroid Build Coastguard WorkerAllowShortIfStatementsOnASingleLine: true
129*c8dee2aaSAndroid Build Coastguard WorkerAllowShortLoopsOnASingleLine: true
130*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakAfterDefinitionReturnType: None
131*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakAfterReturnType: None
132*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakBeforeMultilineStrings: true
133*c8dee2aaSAndroid Build Coastguard WorkerAlwaysBreakTemplateDeclarations: false
134*c8dee2aaSAndroid Build Coastguard WorkerBinPackArguments: false
135*c8dee2aaSAndroid Build Coastguard WorkerBinPackParameters: false
136*c8dee2aaSAndroid Build Coastguard WorkerBraceWrapping:
137*c8dee2aaSAndroid Build Coastguard Worker  AfterClass:      false
138*c8dee2aaSAndroid Build Coastguard Worker  AfterControlStatement: false
139*c8dee2aaSAndroid Build Coastguard Worker  AfterEnum:       false
140*c8dee2aaSAndroid Build Coastguard Worker  AfterFunction:   false
141*c8dee2aaSAndroid Build Coastguard Worker  AfterNamespace:  false
142*c8dee2aaSAndroid Build Coastguard Worker  AfterObjCDeclaration: false
143*c8dee2aaSAndroid Build Coastguard Worker  AfterStruct:     false
144*c8dee2aaSAndroid Build Coastguard Worker  AfterUnion:      false
145*c8dee2aaSAndroid Build Coastguard Worker  BeforeCatch:     false
146*c8dee2aaSAndroid Build Coastguard Worker  BeforeElse:      false
147*c8dee2aaSAndroid Build Coastguard Worker  IndentBraces:    false
148*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeBinaryOperators: None
149*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeBraces: Custom
150*c8dee2aaSAndroid Build Coastguard WorkerBreakBeforeTernaryOperators: true
151*c8dee2aaSAndroid Build Coastguard WorkerBreakConstructorInitializersBeforeComma: true
152*c8dee2aaSAndroid Build Coastguard WorkerBreakAfterJavaFieldAnnotations: false
153*c8dee2aaSAndroid Build Coastguard WorkerBreakStringLiterals: true
154*c8dee2aaSAndroid Build Coastguard WorkerColumnLimit:     100
155*c8dee2aaSAndroid Build Coastguard WorkerCommentPragmas:  '^ IWYU pragma:'
156*c8dee2aaSAndroid Build Coastguard WorkerConstructorInitializerAllOnOneLineOrOnePerLine: true
157*c8dee2aaSAndroid Build Coastguard WorkerConstructorInitializerIndentWidth: 8
158*c8dee2aaSAndroid Build Coastguard WorkerContinuationIndentWidth: 8
159*c8dee2aaSAndroid Build Coastguard WorkerCpp11BracedListStyle: true
160*c8dee2aaSAndroid Build Coastguard WorkerDerivePointerAlignment: false
161*c8dee2aaSAndroid Build Coastguard WorkerDisableFormat:   false
162*c8dee2aaSAndroid Build Coastguard WorkerExperimentalAutoDetectBinPacking: false
163*c8dee2aaSAndroid Build Coastguard WorkerForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
164*c8dee2aaSAndroid Build Coastguard WorkerIncludeCategories:
165*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '^<.*\.h>'
166*c8dee2aaSAndroid Build Coastguard Worker    Priority:        1
167*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '^<.*'
168*c8dee2aaSAndroid Build Coastguard Worker    Priority:        2
169*c8dee2aaSAndroid Build Coastguard Worker  - Regex:           '.*'
170*c8dee2aaSAndroid Build Coastguard Worker    Priority:        3
171*c8dee2aaSAndroid Build Coastguard WorkerIncludeIsMainRegex: '([-_](test|unittest))?$'
172*c8dee2aaSAndroid Build Coastguard WorkerIndentCaseLabels: true
173*c8dee2aaSAndroid Build Coastguard WorkerIndentWidth:     4
174*c8dee2aaSAndroid Build Coastguard WorkerIndentWrappedFunctionNames: false
175*c8dee2aaSAndroid Build Coastguard WorkerJavaScriptQuotes: Leave
176*c8dee2aaSAndroid Build Coastguard WorkerJavaScriptWrapImports: true
177*c8dee2aaSAndroid Build Coastguard WorkerKeepEmptyLinesAtTheStartOfBlocks: false
178*c8dee2aaSAndroid Build Coastguard WorkerMaxEmptyLinesToKeep: 1
179*c8dee2aaSAndroid Build Coastguard WorkerNamespaceIndentation: None
180*c8dee2aaSAndroid Build Coastguard WorkerObjCBlockIndentWidth: 2
181*c8dee2aaSAndroid Build Coastguard WorkerObjCSpaceAfterProperty: false
182*c8dee2aaSAndroid Build Coastguard WorkerObjCSpaceBeforeProtocolList: false
183*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakBeforeFirstCallParameter: 1
184*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakComment: 300
185*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakFirstLessLess: 120
186*c8dee2aaSAndroid Build Coastguard WorkerPenaltyBreakString: 1000
187*c8dee2aaSAndroid Build Coastguard WorkerPenaltyExcessCharacter: 1000000
188*c8dee2aaSAndroid Build Coastguard WorkerPenaltyReturnTypeOnItsOwnLine: 200
189*c8dee2aaSAndroid Build Coastguard WorkerPointerAlignment: Left
190*c8dee2aaSAndroid Build Coastguard WorkerReflowComments:  true
191*c8dee2aaSAndroid Build Coastguard WorkerSortIncludes:    true
192*c8dee2aaSAndroid Build Coastguard WorkerSpaceAfterCStyleCast: false
193*c8dee2aaSAndroid Build Coastguard WorkerSpaceAfterTemplateKeyword: true
194*c8dee2aaSAndroid Build Coastguard WorkerSpaceBeforeAssignmentOperators: true
195*c8dee2aaSAndroid Build Coastguard WorkerSpaceBeforeParens: ControlStatements
196*c8dee2aaSAndroid Build Coastguard WorkerSpaceInEmptyParentheses: false
197*c8dee2aaSAndroid Build Coastguard WorkerSpacesBeforeTrailingComments: 2
198*c8dee2aaSAndroid Build Coastguard WorkerSpacesInAngles:  false
199*c8dee2aaSAndroid Build Coastguard WorkerSpacesInContainerLiterals: true
200*c8dee2aaSAndroid Build Coastguard WorkerSpacesInCStyleCastParentheses: false
201*c8dee2aaSAndroid Build Coastguard WorkerSpacesInParentheses: false
202*c8dee2aaSAndroid Build Coastguard WorkerSpacesInSquareBrackets: false
203*c8dee2aaSAndroid Build Coastguard WorkerStandard:        Auto
204*c8dee2aaSAndroid Build Coastguard WorkerTabWidth:        4
205*c8dee2aaSAndroid Build Coastguard WorkerUseTab:          Never
206*c8dee2aaSAndroid Build Coastguard Worker...
207*c8dee2aaSAndroid Build Coastguard Worker
208