]> granicus.if.org Git - postgresql/commitdiff
OK, now pgindent has blank lines before comment blocks, except when
authorBruce Momjian <bruce@momjian.us>
Thu, 17 May 2001 16:11:08 +0000 (16:11 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 17 May 2001 16:11:08 +0000 (16:11 +0000)
there is a brace on the line above it.

src/tools/pgindent/pgindent

index 3318b3fb8fd47a257313de91a2a14d0e3a5a0d71..53fe70d43b300f42dd724bcdb6664a13e03258c3 100755 (executable)
@@ -19,7 +19,7 @@ then  echo "You appear to have GNU indent rather than BSD indent." >&2
        echo "See the pgindent/README file for a description of its problems." >&2
        EXTRA_OPTS="-ncdb -bli0 -npcs -cli4"
 else   echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2
-       EXTRA_OPTS="-cli1"
+       EXTRA_OPTS="-bbb -cli1"
 fi
 
 for FILE
@@ -1343,6 +1343,36 @@ do
                        if (skips <= 2)
                                print line2;
        }' |
+# remove blank line between opening brace and block comment
+       awk '
+       {       
+                       line3 = $0;  
+                       if (skips > 0)
+                               skips--;
+                       if (line1 ~ "           *{$" &&
+                           line2 ~ "^$" &&
+                           line3 ~ "           */\\*$")
+                       {
+                               print line1;
+                               print line3;
+                               line1 = "";
+                               line2 = "";
+                               line3 = "";
+                               skips = 3;
+                       }
+                       else
+                               if (skips == 0 && NR >= 3)
+                                       print line1;
+                       line1 = line2;
+                       line2 = line3;
+                       line3 = "";
+               }
+               END {
+                       if (skips <= 1)
+                               print line1;
+                       if (skips <= 2)
+                               print line2;
+       }' |
 #  Move prototype names to the same line as return type.  Useful for ctags. 
 #  Indent should do this, but it does not.  It formats prototypes just
 #  like real functions.