Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/pgindent/README8
-rwxr-xr-xsrc/tools/pgindent/pgcppindent27
2 files changed, 35 insertions, 0 deletions
diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README
index ec8f96bb16e..aae95173a83 100644
--- a/src/tools/pgindent/README
+++ b/src/tools/pgindent/README
@@ -37,3 +37,11 @@ following options:
find . \( -name '*.java' -o -name '*.java.in' \) -print |
xargs -n100 pgjindent
+---------------------------------------------------------------------------
+
+For cpp, we use astyle, http://astyle.sourceforge.net/, with the
+following options:
+
+ find src/interfaces/libpq++ -name '*.[ch]' -print |
+ xargs -n100 pgcppindent
+
diff --git a/src/tools/pgindent/pgcppindent b/src/tools/pgindent/pgcppindent
new file mode 100755
index 00000000000..ee27cf5295f
--- /dev/null
+++ b/src/tools/pgindent/pgcppindent
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
+entab </dev/null >/dev/null
+if [ "$?" -ne 0 ]
+then echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2
+ echo "This will put the 'entab' command in your path." >&2
+ echo "Then run $0 again."
+ exit 1
+fi
+astyle --version </dev/null >/dev/null 2>&1
+if [ "$?" -eq 0 ]
+then echo "You do not appear to have 'astyle' installed on your system." >&2
+ exit 1
+fi
+
+for FILE
+do
+ astyle --style=ansi -b -p -S < "$FILE" >/tmp/$$ 2>/tmp/$$a
+ if [ "$?" -ne 0 -o -s /tmp/$$a ]
+ then echo "$FILE"
+ cat /tmp/$$a
+ fi
+ cat /tmp/$$ |
+ entab -t4 -qc |
+ cat >/tmp/$$a && cat /tmp/$$a >"$FILE"
+done