diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-08-29 15:58:13 +0200 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-09-12 07:59:30 +0000 |
commit | ca84a51f867988cc4a6b3f4058ab6dc9f9badf84 (patch) | |
tree | eaa86c03279048c99281be9046435c5df9d40c4b /dist/clangformat | |
parent | b95b675e41e6d7bba54733119f5f2e55c7d39133 (diff) |
Clang: Use clang-format for indentation
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>
Diffstat (limited to 'dist/clangformat')
-rw-r--r-- | dist/clangformat/.clang-format | 115 | ||||
-rw-r--r-- | dist/clangformat/README.md | 22 |
2 files changed, 4 insertions, 133 deletions
diff --git a/dist/clangformat/.clang-format b/dist/clangformat/.clang-format deleted file mode 100644 index 25df05eb26..0000000000 --- a/dist/clangformat/.clang-format +++ /dev/null @@ -1,115 +0,0 @@ -# .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 diff --git a/dist/clangformat/README.md b/dist/clangformat/README.md index 05fd065c01..26982360ae 100644 --- a/dist/clangformat/README.md +++ b/dist/clangformat/README.md @@ -1,6 +1,6 @@ # .clang-format for Qt Creator -Alongside this file you find an EXPERIMENTAL .clang-format configuration file +In you Qt Creator root there is an EXPERIMENTAL .clang-format configuration file for the Qt Creator code base. The current configuration is useful, but not fully in accordance with the @@ -26,25 +26,11 @@ For more information about clang-format, see ## Set up Qt Creator for use with clang-format -### Install the configuration file - -For a given source file to format, clang-format it will read the configuration -from .clang-format in the closest parent directory for the file to format. - -Hence symlink/copy .clang-format from this directory to e.g. Qt Creator's top -level directory: - -For Linux/macOS: - - $ cd $QTC_SOURCE - $ ln -s dist/clangformat/.clang-format - -For Windows: +### Configure Qt Creator - $ cd $QTC_SOURCE - $ copy dist\clangformat\.clang-format # Do not forget to keep this updated + 0. Enable experimental ClangFormat plugin to get C++ indentation based on it. -### Configure Qt Creator + Or use an alternative way: 1. Enable the Beautifier plugin and restart to load it. |