forked from qt-creator/qt-creator
This is the new experimental plugin based on LibFormat. It replaces the default indenter for CppEditorDocument and applies clang-format after the CR or the set of 'electric' characters. Uses the global .clang-format kept in QtC settings or the one for current project. Both can be configured. For indentation some style modifications and code manipulations are done to prevent line shrinking when it's not expected. Manual indentation uses unmodified style from .clang-format file. Change-Id: I6279b805e418e1804b553efa615f5c843f395a58 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
116 lines
3.4 KiB
YAML
116 lines
3.4 KiB
YAML
# .clang-format for Qt Creator
|
|
#
|
|
# This is for clang-format >= 5.0.
|
|
#
|
|
# The configuration below follows the Qt Creator Coding Rules [1] as closely as
|
|
# possible. For documentation of the options, see [2].
|
|
#
|
|
# Use ../../tests/manual/clang-format-for-qtc/test.cpp for documenting problems
|
|
# or testing changes.
|
|
#
|
|
# [1] https://doc-snapshots.qt.io/qtcreator-extending/coding-style.html
|
|
# [2] https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
#
|
|
---
|
|
Language: Cpp
|
|
AccessModifierOffset: -4
|
|
AlignAfterOpenBracket: Align
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
AlignEscapedNewlines: DontAlign
|
|
AlignOperands: true
|
|
AlignTrailingComments: true
|
|
AllowAllParametersOfDeclarationOnNextLine: true
|
|
AllowShortBlocksOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
AllowShortFunctionsOnASingleLine: Inline
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
AlwaysBreakAfterReturnType: None
|
|
AlwaysBreakBeforeMultilineStrings: false
|
|
AlwaysBreakTemplateDeclarations: true
|
|
BinPackArguments: false
|
|
BinPackParameters: false
|
|
BraceWrapping:
|
|
AfterClass: true
|
|
AfterControlStatement: false
|
|
AfterEnum: false
|
|
AfterFunction: true
|
|
AfterNamespace: false
|
|
AfterObjCDeclaration: false
|
|
AfterStruct: true
|
|
AfterUnion: false
|
|
BeforeCatch: false
|
|
BeforeElse: false
|
|
IndentBraces: false
|
|
SplitEmptyFunction: false
|
|
SplitEmptyRecord: false
|
|
SplitEmptyNamespace: false
|
|
BreakBeforeBinaryOperators: All
|
|
BreakBeforeBraces: Custom
|
|
BreakBeforeInheritanceComma: false
|
|
BreakBeforeTernaryOperators: true
|
|
BreakConstructorInitializersBeforeComma: false
|
|
BreakConstructorInitializers: BeforeComma
|
|
BreakAfterJavaFieldAnnotations: false
|
|
BreakStringLiterals: false
|
|
ColumnLimit: 100
|
|
CommentPragmas: '^ IWYU pragma:'
|
|
CompactNamespaces: false
|
|
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
ConstructorInitializerIndentWidth: 4
|
|
ContinuationIndentWidth: 4
|
|
Cpp11BracedListStyle: true
|
|
DerivePointerAlignment: false
|
|
DisableFormat: false
|
|
ExperimentalAutoDetectBinPacking: false
|
|
FixNamespaceComments: true
|
|
ForEachMacros:
|
|
- forever # avoids { wrapped to next line
|
|
- foreach
|
|
- Q_FOREACH
|
|
- BOOST_FOREACH
|
|
IncludeCategories:
|
|
- Regex: '^<Q.*'
|
|
Priority: 200
|
|
IncludeIsMainRegex: '(Test)?$'
|
|
IndentCaseLabels: false
|
|
IndentWidth: 4
|
|
IndentWrappedFunctionNames: false
|
|
JavaScriptQuotes: Leave
|
|
JavaScriptWrapImports: true
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
# Do not add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE as this will indent lines in between.
|
|
MacroBlockBegin: ""
|
|
MacroBlockEnd: ""
|
|
MaxEmptyLinesToKeep: 1
|
|
NamespaceIndentation: None
|
|
ObjCBlockIndentWidth: 4
|
|
ObjCSpaceAfterProperty: false
|
|
ObjCSpaceBeforeProtocolList: true
|
|
PenaltyBreakAssignment: 150
|
|
PenaltyBreakBeforeFirstCallParameter: 300
|
|
PenaltyBreakComment: 500
|
|
PenaltyBreakFirstLessLess: 400
|
|
PenaltyBreakString: 600
|
|
PenaltyExcessCharacter: 50
|
|
PenaltyReturnTypeOnItsOwnLine: 300
|
|
PointerAlignment: Right
|
|
ReflowComments: false
|
|
SortIncludes: true
|
|
SortUsingDeclarations: true
|
|
SpaceAfterCStyleCast: true
|
|
SpaceAfterTemplateKeyword: false
|
|
SpaceBeforeAssignmentOperators: true
|
|
SpaceBeforeParens: ControlStatements
|
|
SpaceInEmptyParentheses: false
|
|
SpacesBeforeTrailingComments: 1
|
|
SpacesInAngles: false
|
|
SpacesInContainerLiterals: false
|
|
SpacesInCStyleCastParentheses: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
Standard: Cpp11
|
|
TabWidth: 4
|
|
UseTab: Never
|