clang-format: Sync config with LLVM 13

Disable minimum amount of spaces in comment prefix for now, as it otherwise
modifies the whole codebase. That's something we probably want to use as it
matches our convention, but we should look into fully converting these
comments to our style guide at the same time.
This commit is contained in:
Rémi Verschelde 2021-10-22 20:39:50 +02:00
parent 3bebbcacdb
commit 63544c3a9d
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 81 additions and 20 deletions

View File

@ -1,31 +1,41 @@
# Commented out parameters are those with the same value as base LLVM style # Commented out parameters are those with the same value as base LLVM style.
# We can uncomment them if we want to change their value, or enforce the # We can uncomment them if we want to change their value, or enforce the
# chosen value in case the base style changes (last sync: Clang 6.0.1). # chosen value in case the base style changes (last sync: Clang 13.0).
--- ---
### General config, applies to all languages ### ### General config, applies to all languages ###
BasedOnStyle: LLVM BasedOnStyle: LLVM
AccessModifierOffset: -4 AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign AlignAfterOpenBracket: DontAlign
# AlignConsecutiveAssignments: false # AlignArrayOfStructures: None
# AlignConsecutiveDeclarations: false # AlignConsecutiveMacros: None
# AlignConsecutiveAssignments: None
# AlignConsecutiveBitFields: None
# AlignConsecutiveDeclarations: None
# AlignEscapedNewlines: Right # AlignEscapedNewlines: Right
# AlignOperands: true # AlignOperands: Align
AlignTrailingComments: false AlignTrailingComments: false
# AllowAllArgumentsOnNextLine: true
# AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false
# AllowShortBlocksOnASingleLine: false # AllowShortEnumsOnASingleLine: true
# AllowShortBlocksOnASingleLine: Never
# AllowShortCaseLabelsOnASingleLine: false # AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline AllowShortFunctionsOnASingleLine: Inline
# AllowShortIfStatementsOnASingleLine: false # AllowShortLambdasOnASingleLine: All
# AllowShortIfStatementsOnASingleLine: Never
# AllowShortLoopsOnASingleLine: false # AllowShortLoopsOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None # AlwaysBreakAfterDefinitionReturnType: None
# AlwaysBreakAfterReturnType: None # AlwaysBreakAfterReturnType: None
# AlwaysBreakBeforeMultilineStrings: false # AlwaysBreakBeforeMultilineStrings: false
# AlwaysBreakTemplateDeclarations: false # AlwaysBreakTemplateDeclarations: MultiLine
# AttributeMacros:
# - __capability
# BinPackArguments: true # BinPackArguments: true
# BinPackParameters: true # BinPackParameters: true
# BraceWrapping: # BraceWrapping:
# AfterCaseLabel: false
# AfterClass: false # AfterClass: false
# AfterControlStatement: false # AfterControlStatement: Never
# AfterEnum: false # AfterEnum: false
# AfterFunction: false # AfterFunction: false
# AfterNamespace: false # AfterNamespace: false
@ -35,13 +45,17 @@ AllowShortFunctionsOnASingleLine: Inline
# AfterExternBlock: false # AfterExternBlock: false
# BeforeCatch: false # BeforeCatch: false
# BeforeElse: false # BeforeElse: false
# BeforeLambdaBody: false
# BeforeWhile: false
# IndentBraces: false # IndentBraces: false
# SplitEmptyFunction: true # SplitEmptyFunction: true
# SplitEmptyRecord: true # SplitEmptyRecord: true
# SplitEmptyNamespace: true # SplitEmptyNamespace: true
# BreakBeforeBinaryOperators: None # BreakBeforeBinaryOperators: None
# BreakBeforeConceptDeclarations: true
# BreakBeforeBraces: Attach # BreakBeforeBraces: Attach
# BreakBeforeInheritanceComma: false # BreakBeforeInheritanceComma: false
# BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: false BreakBeforeTernaryOperators: false
# BreakConstructorInitializersBeforeComma: false # BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: AfterColon BreakConstructorInitializers: AfterColon
@ -53,14 +67,19 @@ ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 8 ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8 ContinuationIndentWidth: 8
Cpp11BracedListStyle: false Cpp11BracedListStyle: false
# DeriveLineEnding: true
# DerivePointerAlignment: false # DerivePointerAlignment: false
# DisableFormat: false # DisableFormat: false
# EmptyLineAfterAccessModifier: Never
# EmptyLineBeforeAccessModifier: LogicalBlock
# ExperimentalAutoDetectBinPacking: false # ExperimentalAutoDetectBinPacking: false
# FixNamespaceComments: true # FixNamespaceComments: true
# ForEachMacros: # ForEachMacros:
# - foreach # - foreach
# - Q_FOREACH # - Q_FOREACH
# - BOOST_FOREACH # - BOOST_FOREACH
# IfMacros:
# - KJ_IF_MAYBE
# IncludeBlocks: Preserve # IncludeBlocks: Preserve
IncludeCategories: IncludeCategories:
- Regex: '".*"' - Regex: '".*"'
@ -70,13 +89,21 @@ IncludeCategories:
- Regex: '^<.*' - Regex: '^<.*'
Priority: 3 Priority: 3
# IncludeIsMainRegex: '(Test)?$' # IncludeIsMainRegex: '(Test)?$'
# IncludeIsMainSourceRegex: ''
# IndentAccessModifiers: false
IndentCaseLabels: true IndentCaseLabels: true
# IndentCaseBlocks: false
# IndentGotoLabels: true
# IndentPPDirectives: None # IndentPPDirectives: None
# IndentExternBlock: AfterExternBlock
# IndentRequires: false
IndentWidth: 4 IndentWidth: 4
# IndentWrappedFunctionNames: false # IndentWrappedFunctionNames: false
# InsertTrailingCommas: None
# JavaScriptQuotes: Leave # JavaScriptQuotes: Leave
# JavaScriptWrapImports: true # JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false KeepEmptyLinesAtTheStartOfBlocks: false
# LambdaBodyIndentation: Signature
# MacroBlockBegin: '' # MacroBlockBegin: ''
# MacroBlockEnd: '' # MacroBlockEnd: ''
# MaxEmptyLinesToKeep: 1 # MaxEmptyLinesToKeep: 1
@ -86,38 +113,72 @@ KeepEmptyLinesAtTheStartOfBlocks: false
# PenaltyBreakComment: 300 # PenaltyBreakComment: 300
# PenaltyBreakFirstLessLess: 120 # PenaltyBreakFirstLessLess: 120
# PenaltyBreakString: 1000 # PenaltyBreakString: 1000
# PenaltyBreakTemplateDeclaration: 10
# PenaltyExcessCharacter: 1000000 # PenaltyExcessCharacter: 1000000
# PenaltyReturnTypeOnItsOwnLine: 60 # PenaltyReturnTypeOnItsOwnLine: 60
# PenaltyIndentedWhitespace: 0
# PointerAlignment: Right # PointerAlignment: Right
# RawStringFormats: # PPIndentWidth: -1
# - Delimiter: pb # ReferenceAlignment: Pointer
# Language: TextProto
# BasedOnStyle: google
# ReflowComments: true # ReflowComments: true
# SortIncludes: true # ShortNamespaceLines: 1
# SortIncludes: CaseSensitive
# SortJavaStaticImport: Before
# SortUsingDeclarations: true # SortUsingDeclarations: true
# SpaceAfterCStyleCast: false # SpaceAfterCStyleCast: false
# SpaceAfterLogicalNot: false
# SpaceAfterTemplateKeyword: true # SpaceAfterTemplateKeyword: true
# SpaceBeforeAssignmentOperators: true # SpaceBeforeAssignmentOperators: true
# SpaceBeforeCaseColon: false
# SpaceBeforeCpp11BracedList: false
# SpaceBeforeCtorInitializerColon: true
# SpaceBeforeInheritanceColon: true
# SpaceBeforeParens: ControlStatements # SpaceBeforeParens: ControlStatements
# SpaceAroundPointerQualifiers: Default
# SpaceBeforeRangeBasedForLoopColon: true
# SpaceInEmptyParentheses: false # SpaceInEmptyParentheses: false
# SpacesBeforeTrailingComments: 1 # SpacesBeforeTrailingComments: 1
# SpacesInAngles: false # SpaceInEmptyBlock: false
# SpaceInEmptyParentheses: false
# SpacesBeforeTrailingComments: 1
# SpacesInAngles: Never
# SpacesInContainerLiterals: true
# SpacesInConditionalStatement: false
# SpacesInContainerLiterals: true # SpacesInContainerLiterals: true
# SpacesInCStyleCastParentheses: false # SpacesInCStyleCastParentheses: false
## Godot TODO: We'll want to use a min of 1, but we need to see how to fix
## our comment capitalization at the same time.
SpacesInLineCommentPrefix:
Minimum: 0
Maximum: -1
# SpacesInParentheses: false # SpacesInParentheses: false
# SpacesInSquareBrackets: false # SpacesInSquareBrackets: false
# SpaceBeforeSquareBrackets: false
# BitFieldColonSpacing: Both
# StatementAttributeLikeMacros:
# - Q_EMIT
# StatementMacros:
# - Q_UNUSED
# - QT_REQUIRE_VERSION
TabWidth: 4 TabWidth: 4
# UseCRLF: false
UseTab: Always UseTab: Always
# WhitespaceSensitiveMacros:
# - STRINGIZE
# - PP_STRINGIZE
# - BOOST_PP_STRINGIZE
# - NS_SWIFT_NAME
# - CF_SWIFT_NAME
--- ---
### C++ specific config ### ### C++ specific config ###
Language: Cpp Language: Cpp
Standard: Cpp11 Standard: c++17
--- ---
### ObjC specific config ### ### ObjC specific config ###
Language: ObjC Language: ObjC
Standard: Cpp11 # ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4 ObjCBlockIndentWidth: 4
# ObjCBreakBeforeNestedBlockParam: true
# ObjCSpaceAfterProperty: false # ObjCSpaceAfterProperty: false
# ObjCSpaceBeforeProtocolList: true # ObjCSpaceBeforeProtocolList: true
--- ---

View File

@ -77,10 +77,10 @@ fi
# To get consistent formatting, we recommend contributors to use the same # To get consistent formatting, we recommend contributors to use the same
# clang-format version as CI. # clang-format version as CI.
RECOMMENDED_CLANG_FORMAT_MAJOR_MIN="11" RECOMMENDED_CLANG_FORMAT_MAJOR_MIN="11"
RECOMMENDED_CLANG_FORMAT_MAJOR_MAX="12" RECOMMENDED_CLANG_FORMAT_MAJOR_MAX="13"
if [ ! -x "$CLANG_FORMAT" ] ; then if [ ! -x "$CLANG_FORMAT" ] ; then
message="Error: clang-format executable not found. Please install clang-format $RECOMMENDED_CLANG_FORMAT_MAJOR.x.x." message="Error: clang-format executable not found. Please install clang-format $RECOMMENDED_CLANG_FORMAT_MAJOR_MAX."
if [ ! -t 1 ] ; then if [ ! -t 1 ] ; then
if [ -x "$ZENITY" ] ; then if [ -x "$ZENITY" ] ; then
@ -108,7 +108,7 @@ CLANG_FORMAT_VERSION="$(clang-format --version | sed "s/[^0-9\.]*\([0-9\.]*\).*/
CLANG_FORMAT_MAJOR="$(echo "$CLANG_FORMAT_VERSION" | cut -d. -f1)" CLANG_FORMAT_MAJOR="$(echo "$CLANG_FORMAT_VERSION" | cut -d. -f1)"
if [[ "$CLANG_FORMAT_MAJOR" -lt "$RECOMMENDED_CLANG_FORMAT_MAJOR_MIN" || "$CLANG_FORMAT_MAJOR" -gt "$RECOMMENDED_CLANG_FORMAT_MAJOR_MAX" ]]; then if [[ "$CLANG_FORMAT_MAJOR" -lt "$RECOMMENDED_CLANG_FORMAT_MAJOR_MIN" || "$CLANG_FORMAT_MAJOR" -gt "$RECOMMENDED_CLANG_FORMAT_MAJOR_MAX" ]]; then
echo "Warning: Your clang-format binary is the wrong version ($CLANG_FORMAT_VERSION, expected between $RECOMMENDED_CLANG_FORMAT_MAJOR_MIN.x.x and $RECOMMENDED_CLANG_FORMAT_MAJOR_MAX.x.x)." echo "Warning: Your clang-format binary is the wrong version ($CLANG_FORMAT_VERSION, expected between $RECOMMENDED_CLANG_FORMAT_MAJOR_MIN and $RECOMMENDED_CLANG_FORMAT_MAJOR_MAX)."
echo " Consider upgrading or downgrading clang-format as formatting may not be applied correctly." echo " Consider upgrading or downgrading clang-format as formatting may not be applied correctly."
fi fi