From 3f69ba107515e95a0f21affca5a5159b274d448a Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 5 Sep 2014 08:42:27 +0000 Subject: [PATCH] clang-format: [JS] Better support for empty function literals. Before: SomeFunction(function(){}); After: SomeFunction(function() {}); llvm-svn: 217236 --- clang/lib/Format/UnwrappedLineParser.cpp | 7 +++++++ clang/unittests/Format/FormatTestJS.cpp | 1 + 2 files changed, 8 insertions(+) diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 56cad19277df..edb68a3d79cd 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -1041,6 +1041,13 @@ void UnwrappedLineParser::parseParens() { if (FormatTok->Tok.is(tok::l_brace)) parseBracedList(); break; + case tok::identifier: + if (Style.Language == FormatStyle::LK_JavaScript && + FormatTok->TokenText == "function") + tryToParseJSFunction(); + else + nextToken(); + break; default: nextToken(); break; diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index 55e7cc6fe195..a4bd84a3242a 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -167,6 +167,7 @@ TEST_F(FormatTestJS, FormatsFreestandingFunctions) { } TEST_F(FormatTestJS, FunctionLiterals) { + verifyFormat("doFoo(function() {});"); verifyFormat("doFoo(function() { return 1; });"); verifyFormat("var func = function() { return 1; };"); verifyFormat("return {\n"