OK, now pgindent has blank lines before comment blocks, except when
authorBruce Momjian
Thu, 17 May 2001 16:11:08 +0000 (16:11 +0000)
committerBruce Momjian
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.