diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..b282aff --- /dev/null +++ b/.clang-format @@ -0,0 +1,104 @@ +############################################################################### +# Mobile Robot Programming Toolkit (MRPT) +# http://www.mrpt.org/ +# +############################################################################### + +# For all the available options - and taking in account the version of +# clang-format see the following links: +# +# More accurate if we know the version in advance +# http://releases.llvm.org/3.8.0/tools/clang/docs/ClangFormatStyleOptions.html +# +# Holds a general list of keys - may not be applicable for our version though +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html + +Language: Cpp +#BasedOnStyle: LLVM +BasedOnStyle: Google +#BasedOnStyle: Chromium +#BasedOnStyle: Mozilla +#BasedOnStyle: WebKit +# --- +#AccessModifierOffset: -4 +AlignAfterOpenBracket: AlwaysBreak # Values: Align, DontAlign, AlwaysBreak +#AlignConsecutiveAssignments: true +#AlignConsecutiveDeclarations: true +#AlignEscapedNewlinesLeft: true +#AlignOperands: false +AlignTrailingComments: false # Should be off, causes many dummy problems!! +#AllowAllParametersOfDeclarationOnNextLine: true +#AllowShortBlocksOnASingleLine: false +#AllowShortCaseLabelsOnASingleLine: false +#AllowShortFunctionsOnASingleLine: Empty +#AllowShortIfStatementsOnASingleLine: false +#AllowShortLoopsOnASingleLine: false +#AlwaysBreakAfterDefinitionReturnType: None +#AlwaysBreakAfterReturnType: None +#AlwaysBreakBeforeMultilineStrings: true +#AlwaysBreakTemplateDeclarations: true +#BinPackArguments: false +#BinPackParameters: false +#BraceWrapping: + #AfterClass: false + #AfterControlStatement: false + #AfterEnum: false + #AfterFunction: false + #AfterNamespace: false + #AfterObjCDeclaration: false + #AfterStruct: false + #AfterUnion: false + #BeforeCatch: false + #BeforeElse: true + #IndentBraces: false +#BreakBeforeBinaryOperators: None +BreakBeforeBraces: Allman +#BreakBeforeTernaryOperators: true +#BreakConstructorInitializersBeforeComma: false +ColumnLimit: 80 +#CommentPragmas: '' +#ConstructorInitializerAllOnOneLineOrOnePerLine: true +#ConstructorInitializerIndentWidth: 4 +#ContinuationIndentWidth: 4 +#Cpp11BracedListStyle: true +#DerivePointerAlignment: false +#DisableFormat: false +#ExperimentalAutoDetectBinPacking: false +##FixNamespaceComments: true # Not applicable in 3.8 +#ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +#IncludeCategories: + #- Regex: '.*' + #Priority: 1 +IndentCaseLabels: true +IndentWidth: 4 +IndentWrappedFunctionNames: true +#KeepEmptyLinesAtTheStartOfBlocks: true +#MacroBlockBegin: '' +#MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +#PenaltyBreakBeforeFirstCallParameter: 19 +#PenaltyBreakComment: 300 +#PenaltyBreakFirstLessLess: 120 +#PenaltyBreakString: 1000 +#PenaltyExcessCharacter: 1000000 +#PenaltyReturnTypeOnItsOwnLine: 200 +DerivePointerAlignment: false +#PointerAlignment: Left +ReflowComments: true # Should be true, otherwise clang-format doesn't touch comments +SortIncludes: false # TODO - Compilation errors on this! +#SpaceAfterCStyleCast: false +SpaceBeforeAssignmentOperators: true +#SpaceBeforeParens: ControlStatements +#SpaceInEmptyParentheses: false +#SpacesBeforeTrailingComments: 2 +#SpacesInAngles: false +#SpacesInContainerLiterals: true +#SpacesInCStyleCastParentheses: false +#SpacesInParentheses: false +#SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 4 +UseTab: Always # Available options are Never, Always, ForIndentation +# UseTab: ForIndentationAndAlignment # Not applicable in >= 3.8 +#---