forked from mongodb/mongo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SERVER-18579: Add .clang-format & Scons support
- Loading branch information
1 parent
6f6fa5a
commit e484264
Showing
3 changed files
with
236 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
/** | ||
* Sample file to demonstrate various clang-format messages | ||
*/ | ||
#include <stdio.h> | ||
#include <vector> | ||
#include <string> | ||
|
||
// NamespaceIndentation: None | ||
namespace foo { | ||
// Contents of namespace are not indented. | ||
int foo; | ||
|
||
namespace bar { | ||
int bar; | ||
|
||
namespace { | ||
int anony; | ||
} // namespace anony | ||
|
||
} // namespace bar | ||
|
||
/** | ||
* A Class comment | ||
*/ | ||
class Example { | ||
// AccessModiferOffset: -4 | ||
public: | ||
// BreakConstructorInitializersBeforeComma: false | ||
// ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
// | ||
Example() : _aVariable(4), _bVariable(42) {} | ||
Example(int a) | ||
: _aVariable(a), | ||
_bVariable(42), | ||
_AReallyReallyLongVariableName(4), | ||
_AnotherReallyReallyLongVariableNameToTriggerWrapping(42) { | ||
printf("Hello "); | ||
} | ||
~Example() {} | ||
|
||
/** | ||
* A Function comment | ||
* AllowShortFunctionsOnASingleLine: Empty | ||
*/ | ||
int getOneLineFunction() { | ||
return 0; | ||
} | ||
|
||
/** A Incorrect Function comment | ||
* AllowShortFunctionsOnASingleLine: Empty | ||
*/ | ||
void doNothing() {} | ||
|
||
/** | ||
* A Useful Function comment | ||
*/ | ||
int manyVariableFunction(unsigned long long arg1, char arg2, unsigned long long arg3); | ||
|
||
private: | ||
int _aVariable; | ||
long _bVariable; | ||
short _cVarianble = 49; | ||
long _AReallyReallyLongVariableName; | ||
long _AnotherReallyReallyLongVariableNameToTriggerWrapping; | ||
}; | ||
|
||
int foo3() { | ||
return 42; | ||
} | ||
|
||
// AlwaysBreakTemplateDeclarations: true | ||
template <typename T> | ||
T myAdd(T x, T y) { | ||
return x + y; | ||
} | ||
|
||
// AlwaysBreakAfterDefinitionReturnType: false | ||
// BinPackParameters: false | ||
int Example::manyVariableFunction(unsigned long long argWithLongName, | ||
char arg2, | ||
unsigned long long argWithAnotherLongName) { | ||
// 3.7 - AlignConsecutiveAssignments - false | ||
// | ||
int aaaa = 12; | ||
int b = 23; | ||
int ccc = 23; | ||
// PointerAlignment: Left | ||
const char* some_pointer = "Hello"; | ||
|
||
// SpacesInAngles: false | ||
std::vector<std::pair<std::string, int>> list; | ||
|
||
// SpaceAfterCStyleCast: false | ||
// SpacesInCStyleCastParentheses: false | ||
char* some_nonconst_pointer = (char*)some_pointer; | ||
|
||
// Multi-line if | ||
// SpaceBeforeParens: False | ||
if (argWithLongName == 0) { // Comment: SpacesBeforeTrailingComments | ||
// Do something | ||
} else if (b % 7 = 3) { | ||
} // some weird trailing else comment that clang-format does not touch | ||
else { | ||
// Notice the indent around else | ||
} | ||
|
||
// AllowShortIfStatementsOnASingleLine: false | ||
// Put statements on separate lines for short ifs | ||
if (arg2 == 'a') | ||
arg2 = 'b'; | ||
|
||
int bbbbbbbbbbbbbbbbbbbbbbbbbbbb, cccccccccccccccccccccccccccccc; | ||
int aaaaaaaaaaaaaaaaaaaaaaaaaaaa = | ||
bbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccccccccccccccccc; | ||
|
||
// AlignOperands | ||
int dddddddddddddddddddddddddddd = aaaaaaaaaaaaaaaaaaaaaaaaaaaa * 7 + 4 % 235124 > 275645 | ||
? bbbbbbbbbbbbbbbbbbbbbbbbbbbb + 897234 | ||
: cccccccccccccccccccccccccccccc % 1293402; | ||
|
||
// AllowShortBlocksOnASingleLine: false | ||
if (b) { | ||
return 3; | ||
} | ||
|
||
// AllowShortLoopsOnASingleLine: false | ||
while (b < 5) | ||
b++; | ||
|
||
// BreakBeforeBinaryOperators: None | ||
if (b > 5 || b % 42 || cccccccccccccccccccccccccccccc % 873 || aaaa * 12312 % 23485 != 9873 || | ||
some_pointer != 0) { | ||
printf("Huh!\n"); | ||
} | ||
|
||
// AlignAfterOpenBracket: false | ||
// BinPackParameters: false | ||
printf("A short function call %s %s %d - %ld\n", "", "tgz", 4, ULONG_MAX); | ||
printf("A long function call %s %s %d - %ld\n", | ||
"http://www.mongodbo.org/downloads", | ||
"mongodb-latest.tgz", | ||
4, | ||
ULONG_MAX); | ||
printf("Thing1 %s\n", "Thing2"); | ||
|
||
// No spaces between parens and args | ||
printf("%c\n", arg2); | ||
|
||
// A switch statement: TODO: Andy, what is the indent we want? Google style? | ||
switch (arg2) { | ||
// AllowShortCaseLabelsOnASingleLine: false | ||
// IndentCaseLabels: true | ||
case 'a': | ||
return 2; | ||
case 'y': | ||
case 'z': | ||
// Do something here | ||
break; | ||
default: | ||
// The default` | ||
break; | ||
} | ||
|
||
do { | ||
// Do a loop here | ||
} while (0); | ||
|
||
return 1; | ||
} | ||
|
||
} // namespace foo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# BasedOnStyle: Google | ||
AccessModifierOffset: -4 | ||
AlignOperands: false | ||
AlignAfterOpenBracket: true | ||
AlignEscapedNewlinesLeft: true | ||
AlignTrailingComments: true | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
AllowShortBlocksOnASingleLine: false | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Empty | ||
AllowShortIfStatementsOnASingleLine: false | ||
AllowShortLoopsOnASingleLine: false | ||
AlwaysBreakAfterDefinitionReturnType: false | ||
AlwaysBreakBeforeMultilineStrings: true | ||
AlwaysBreakTemplateDeclarations: true | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeBraces: Attach | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializersBeforeComma: false | ||
ColumnLimit: 100 | ||
CommentPragmas: '' | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
ExperimentalAutoDetectBinPacking: false | ||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] | ||
IndentCaseLabels: true | ||
IndentFunctionDeclarationAfterType: false | ||
IndentWidth: 4 | ||
IndentWrappedFunctionNames: false | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
Language: Cpp | ||
MaxEmptyLinesToKeep: 2 | ||
NamespaceIndentation: None | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: false | ||
PenaltyBreakBeforeFirstCallParameter: 19 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakString: 1000 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyReturnTypeOnItsOwnLine: 200 | ||
PointerAlignment: Left | ||
SpaceAfterCStyleCast: false | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeParens: ControlStatements | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: false | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInContainerLiterals: true | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
Standard: Cpp11 | ||
TabWidth: 4 | ||
UseTab: Never |