Browse Source

Add clang format file

This is a slightly modified version of Ikey's format for usysconf found here: https://github.com/solus-project/usysconf/blob/master/.clang-format

Modifications are to change to tab indentation, and tab/indent widths of 4
You'll never please everyone, but I find tabs for indentation is the most pragmatic approach to keeping most people happy about indent length arguments.
Marc Di Luzio 7 years ago
parent
commit
ee1c51d0b0
2 changed files with 91 additions and 0 deletions
  1. 84 0
      .clang-format
  2. 7 0
      README.md

+ 84 - 0
.clang-format

@@ -0,0 +1,84 @@
+---
+AccessModifierOffset: 0
+AlignAfterOpenBracket: true
+AlignConsecutiveAssignments: false
+#uncomment for clang 3.9
+#AlignConsecutiveDeclarations: false
+AlignEscapedNewlinesLeft: false
+AlignOperands: true
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: true
+AllowShortBlocksOnASingleLine: false
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: None
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+# AlwaysBreakAfterDefinitionReturnType: None
+#uncomment for clang 3.9
+#AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: true
+AlwaysBreakTemplateDeclarations: false
+BinPackArguments: false
+BinPackParameters: true
+# BraceWrapping: (not set since BreakBeforeBraces is not Custom)
+BreakBeforeBinaryOperators: None
+# BreakAfterJavaFieldAnnotations: (not java)
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: Linux
+BreakBeforeTernaryOperators: true
+BreakConstructorInitializersBeforeComma: false
+#uncomment for clang 3.9
+#BreakStringLiterals: false
+ColumnLimit: 100
+CommentPragmas:  '\*\<'
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: false
+DerivePointerAlignment: false
+DisableFormat: false
+ExperimentalAutoDetectBinPacking: false
+ForEachMacros: [ ]
+#Uncomment for clang 3.9
+#IncludeCategories:
+#  - Regex: '^"'
+#    Priority: 1
+# IncludeIsMainRegex: (project doesn't use a main includes that can add other includes via regex)
+IndentCaseLabels: false
+IndentWidth: 4
+IndentWrappedFunctionNames: false
+# JavaScriptQuotes: (not javascript)
+KeepEmptyLinesAtTheStartOfBlocks: false
+Language: Cpp
+MacroBlockBegin: ''
+MacroBlockEnd:   ''
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: None
+# ObjCBlockIndentWidth: (not objc)
+# ObjCSpaceAfterProperty: (not objc)
+# ObjCSpaceBeforeProtocolList: (not objc)
+PenaltyBreakBeforeFirstCallParameter: 400
+PenaltyBreakComment: 0
+# PenaltyBreakFirstLessLess: (not cpp)
+PenaltyBreakString: 500
+PenaltyExcessCharacter: 10000
+PenaltyReturnTypeOnItsOwnLine: 600
+PointerAlignment: Right
+#uncomment for clang 3.9
+#ReflowComments: true
+#uncomment for clang 3.9
+#SortIncludes: true
+SpaceAfterCStyleCast: false
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 1
+SpacesInAngles: false
+SpacesInCStyleCastParentheses: false
+# SpacesInContainerLiterals: (not objc or javascript)
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+Standard:        Cpp11
+TabWidth:        4
+UseTab:          ForIndentation
+...

+ 7 - 0
README.md

@@ -104,6 +104,13 @@ Add `-lgamemodeauto` to linker arguments and distribute `libgamemodeauto.so` wit
 #### Option 3: Distribute and script
 Distribute `libgamemodeauto.so` with the game and add to LD\_PRELOAD in a launch script
 
+---
+## Pull Requests
+Pull requests must match with the coding style found in the `.clang-format` file
+```
+clang-format -i $(find . -name '*.[ch]')
+```
+
 ---
 ## TODO