From 548a3e7c1076dcc826a83b6854e1fc9bc0ad9425 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 8 May 2015 08:38:52 +0000 Subject: [PATCH] clang-format: [JS] Avoid bad line-warp around "function". Before: someLooooooooongFunction( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, function( aaaaaaaaaaaaaaaaaaaaaaaaaaaaa) { // code }); After: someLooooooooongFunction( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, function(aaaaaaaaaaaaaaaaaaaaaaaaaaaaa) { // code }); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236813 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 2 +- unittests/Format/FormatTestJS.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 1079bef41e..50ef0cafbd 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1578,7 +1578,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, if (Left.is(tok::comma) && Left.NestingLevel == 0) return 3; } else if (Style.Language == FormatStyle::LK_JavaScript) { - if (Right.is(Keywords.kw_function)) + if (Right.is(Keywords.kw_function) && Left.isNot(tok::comma)) return 100; } diff --git a/unittests/Format/FormatTestJS.cpp b/unittests/Format/FormatTestJS.cpp index 0d37caf1c9..7494bccea5 100644 --- a/unittests/Format/FormatTestJS.cpp +++ b/unittests/Format/FormatTestJS.cpp @@ -276,6 +276,12 @@ TEST_F(FormatTestJS, FunctionLiterals) { " return x.zIsTooLongForOneLineWithTheDeclarationLine();\n" " };\n" "}"); + verifyFormat("someLooooooooongFunction(\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n" + " function(aaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n" + " // code\n" + " });"); verifyFormat("f({a: function() { return 1; }});", getGoogleJSStyleWithColumns(33)); -- 2.40.0