forked from OSchip/llvm-project
clang-format: [js] Updates to Google's JavaScript style.
The style guide is changing.. llvm-svn: 220977
This commit is contained in:
parent
8a020310b8
commit
f739b0dbfa
|
@ -664,6 +664,7 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State,
|
|||
if (Current.TokenText == "function")
|
||||
State.Stack.back().JSFunctionInlined =
|
||||
!Newline && Previous && Previous->Type != TT_DictLiteral &&
|
||||
Previous->Type != TT_ConditionalExpr &&
|
||||
// If the unnamed function is the only parameter to another function,
|
||||
// we can likely inline it and come up with a good format.
|
||||
(Previous->isNot(tok::l_paren) || Previous->ParameterCount > 1);
|
||||
|
|
|
@ -416,7 +416,7 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind Language) {
|
|||
GoogleStyle.ColumnLimit = 100;
|
||||
GoogleStyle.SpaceAfterCStyleCast = true;
|
||||
} else if (Language == FormatStyle::LK_JavaScript) {
|
||||
GoogleStyle.BreakBeforeTernaryOperators = false;
|
||||
GoogleStyle.BreakBeforeBinaryOperators = FormatStyle::BOS_NonAssignment;
|
||||
GoogleStyle.MaxEmptyLinesToKeep = 3;
|
||||
GoogleStyle.SpacesInContainerLiterals = false;
|
||||
GoogleStyle.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Inline;
|
||||
|
|
|
@ -8709,7 +8709,7 @@ TEST_F(FormatTest, UsesLanguageForBasedOnStyle) {
|
|||
Style.Language = FormatStyle::LK_JavaScript;
|
||||
Style.BreakBeforeTernaryOperators = true;
|
||||
EXPECT_EQ(0, parseConfiguration("BasedOnStyle: Google", &Style).value());
|
||||
EXPECT_FALSE(Style.BreakBeforeTernaryOperators);
|
||||
EXPECT_FALSE(Style.SpacesInContainerLiterals);
|
||||
|
||||
Style.BreakBeforeTernaryOperators = true;
|
||||
EXPECT_EQ(0, parseConfiguration("---\n"
|
||||
|
@ -8718,7 +8718,7 @@ TEST_F(FormatTest, UsesLanguageForBasedOnStyle) {
|
|||
"Language: JavaScript\n"
|
||||
"IndentWidth: 76\n"
|
||||
"...\n", &Style).value());
|
||||
EXPECT_FALSE(Style.BreakBeforeTernaryOperators);
|
||||
EXPECT_FALSE(Style.SpacesInContainerLiterals);
|
||||
EXPECT_EQ(76u, Style.IndentWidth);
|
||||
EXPECT_EQ(FormatStyle::LK_JavaScript, Style.Language);
|
||||
}
|
||||
|
|
|
@ -55,29 +55,27 @@ TEST_F(FormatTestJS, UnderstandsJavaScriptOperators) {
|
|||
verifyFormat("a != = b;");
|
||||
|
||||
verifyFormat("a === b;");
|
||||
verifyFormat("aaaaaaa ===\n b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("aaaaaaa\n === b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("a !== b;");
|
||||
verifyFormat("aaaaaaa !==\n b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("if (a + b + c +\n"
|
||||
" d !==\n"
|
||||
" e + f + g)\n"
|
||||
verifyFormat("aaaaaaa\n !== b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("if (a + b + c + d\n"
|
||||
" !== e + f + g)\n"
|
||||
" q();",
|
||||
getGoogleJSStyleWithColumns(20));
|
||||
|
||||
verifyFormat("a >> >= b;");
|
||||
|
||||
verifyFormat("a >>> b;");
|
||||
verifyFormat("aaaaaaa >>>\n b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("aaaaaaa\n >>> b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("a >>>= b;");
|
||||
verifyFormat("aaaaaaa >>>=\n b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("if (a + b + c +\n"
|
||||
" d >>>\n"
|
||||
" e + f + g)\n"
|
||||
verifyFormat("aaaaaaa\n >>>= b;", getGoogleJSStyleWithColumns(10));
|
||||
verifyFormat("if (a + b + c + d\n"
|
||||
" >>> e + f + g)\n"
|
||||
" q();",
|
||||
getGoogleJSStyleWithColumns(20));
|
||||
verifyFormat("var x = aaaaaaaaaa ?\n"
|
||||
" bbbbbb :\n"
|
||||
" ccc;",
|
||||
verifyFormat("var x = aaaaaaaaaa\n"
|
||||
" ? bbbbbb\n"
|
||||
" : ccc;",
|
||||
getGoogleJSStyleWithColumns(20));
|
||||
|
||||
verifyFormat("var b = a.map((x) => x + 1);");
|
||||
|
@ -183,11 +181,10 @@ TEST_F(FormatTestJS, FunctionLiterals) {
|
|||
" }\n"
|
||||
"};");
|
||||
// FIXME: The formatting here probably isn't ideal.
|
||||
EXPECT_EQ("abc = xyz ?\n"
|
||||
" function() {\n"
|
||||
" return 1;\n"
|
||||
" } :\n"
|
||||
" function() {\n"
|
||||
EXPECT_EQ("abc = xyz ? function() {\n"
|
||||
" return 1;\n"
|
||||
" }\n"
|
||||
" : function() {\n"
|
||||
" return -1;\n"
|
||||
"};",
|
||||
format("abc=xyz?function(){return 1;}:function(){return -1;};"));
|
||||
|
|
Loading…
Reference in New Issue