Create pgjindent for java.
This commit is contained in:
parent
17c03b30b0
commit
3fb3678409
@ -30,3 +30,9 @@ We get the list of typedef's included in pgindent by running:
|
|||||||
Make sure to do the pgsql/bin directory, and the src/interfaces/odbc
|
Make sure to do the pgsql/bin directory, and the src/interfaces/odbc
|
||||||
directory. Merge the output of these and remove duplicates.
|
directory. Merge the output of these and remove duplicates.
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
For java, we use astyle, http://astyle.sourceforge.net/, with the
|
||||||
|
following options:
|
||||||
|
|
||||||
|
find . -name '*.java' -type f -print | xargs -n100 pgjindent
|
||||||
|
@ -24,7 +24,7 @@ fi
|
|||||||
|
|
||||||
for FILE
|
for FILE
|
||||||
do
|
do
|
||||||
cat $FILE |
|
cat "$FILE" |
|
||||||
# convert // comments to /* */
|
# convert // comments to /* */
|
||||||
sed 's;^\([ ]*\)//\(.*\)$;\1/* \2 */;g' |
|
sed 's;^\([ ]*\)//\(.*\)$;\1/* \2 */;g' |
|
||||||
# mark some comments for special treatment later
|
# mark some comments for special treatment later
|
||||||
@ -1319,7 +1319,7 @@ int pgindent_func_no_var_fix;\
|
|||||||
# add space after comments that start on tab stops
|
# add space after comments that start on tab stops
|
||||||
sed 's,;\(/\*.*\*/\)$,; \1,' |
|
sed 's,;\(/\*.*\*/\)$,; \1,' |
|
||||||
# work around #else indenting next line if #ifdef defines variables at top
|
# work around #else indenting next line if #ifdef defines variables at top
|
||||||
# work around case misindenting function has no variables defined
|
# work around misindenting of function with no variables defined
|
||||||
awk '
|
awk '
|
||||||
{
|
{
|
||||||
if ($0 ~ "^[ ]*int[ ]*pgindent_func_no_var_fix;")
|
if ($0 ~ "^[ ]*int[ ]*pgindent_func_no_var_fix;")
|
||||||
@ -1329,6 +1329,7 @@ int pgindent_func_no_var_fix;\
|
|||||||
}
|
}
|
||||||
else print $0;
|
else print $0;
|
||||||
}' |
|
}' |
|
||||||
|
# remove tabs and retab with four spaces
|
||||||
detab -t8 -qc |
|
detab -t8 -qc |
|
||||||
entab -t4 -qc |
|
entab -t4 -qc |
|
||||||
# move trailing * in function return type
|
# move trailing * in function return type
|
||||||
@ -1459,7 +1460,7 @@ int pgindent_func_no_var_fix;\
|
|||||||
}
|
}
|
||||||
else print $0;
|
else print $0;
|
||||||
}' |
|
}' |
|
||||||
cat >/tmp/$$ && cat /tmp/$$ >$FILE
|
cat >/tmp/$$ && cat /tmp/$$ >"$FILE"
|
||||||
done
|
done
|
||||||
|
|
||||||
# The 'for' loop makes these backup files useless so delete them
|
# The 'for' loop makes these backup files useless so delete them
|
||||||
|
27
src/tools/pgindent/pgjindent
Executable file
27
src/tools/pgindent/pgjindent
Executable file
@ -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=java -b -p -j < "$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
|
Loading…
x
Reference in New Issue
Block a user