]> granicus.if.org Git - clang/commitdiff
clang-format: [JS] Prefer wrapping before the TypeScript return type
authorDaniel Jasper <djasper@google.com>
Fri, 8 Jan 2016 10:51:24 +0000 (10:51 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 8 Jan 2016 10:51:24 +0000 (10:51 +0000)
over wrapping before parameters.

Before:
  function someFunc(
      args: string[]): {longReturnValue: string[]} {}

After:
  function someFunc(args: string[]):
      {longReturnValue: string[]} {}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257162 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTestJS.cpp

index 7390865d4cc98aa2ac019c0e595b849eb750aeb6..b6145a9935a5a84a95aea6e8a906bb121ebb31b2 100644 (file)
@@ -1725,7 +1725,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line,
     if (Right.is(Keywords.kw_function) && Left.isNot(tok::comma))
       return 100;
     if (Left.is(TT_JsTypeColon))
-      return 100;
+      return 35;
   }
 
   if (Left.is(tok::comma) || (Right.is(tok::identifier) && Right.Next &&
index 4600d7feb3d8d046db0d2c851c9f4fa788e4239b..7514c43ad43d28bb0317a48cc1167ddcb8991dab 100644 (file)
@@ -740,6 +740,9 @@ TEST_F(FormatTestJS, TypeAnnotations) {
   verifyFormat("var x: P<string, (a: number) => string>;");
   verifyFormat("var x = {y: function(): z { return 1; }};");
   verifyFormat("var x = {y: function(): {a: number} { return 1; }};");
+  verifyFormat("function someFunc(args: string[]):\n"
+               "    {longReturnValue: string[]} {}",
+               getGoogleJSStyleWithColumns(60));
 }
 
 TEST_F(FormatTestJS, ClassDeclarations) {