summaryrefslogtreecommitdiff
path: root/scripts/astyle.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/astyle.sh')
-rwxr-xr-xscripts/astyle.sh117
1 files changed, 117 insertions, 0 deletions
diff --git a/scripts/astyle.sh b/scripts/astyle.sh
new file mode 100755
index 00000000..603a1c94
--- /dev/null
+++ b/scripts/astyle.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+###########################################################################
+# astyle.sh
+# ---------------------
+# Date : August 2008
+# Copyright : (C) 2008 by Juergen E. Fischer
+# Email : jef at norbit dot de
+###########################################################################
+# #
+# This program is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 2 of the License, or #
+# (at your option) any later version. #
+# #
+###########################################################################
+
+for ASTYLE in ${OPJSTYLE} $(dirname $0)/opjstyle $(dirname $0)/RelWithDebInfo/opjstyle
+do
+ if type -p $ASTYLE >/dev/null; then
+ break
+ fi
+ ASTYLE=
+done
+
+if [ -z "$ASTYLE" ]; then
+ echo "opjstyle not found - please enable WITH_ASTYLE in cmake and build it" >&2
+ exit 1
+fi
+
+if type -p tput >/dev/null; then
+ elcr="$ASTYLEPROGRESS$(tput el)$(tput cr)"
+else
+ elcr="$ASTYLEPROGRESS \r"
+fi
+
+if ! type -p flip >/dev/null; then
+ if type -p dos2unix >/dev/null; then
+ flip() {
+ dos2unix -k $2
+ }
+ else
+ echo "flip not found" >&2
+ flip() {
+ :
+ }
+ fi
+fi
+
+if ! type -p autopep8 >/dev/null; then
+ echo "autopep8 not found" >&2
+ autopep8() {
+ :
+ }
+fi
+
+ASTYLEOPTS=$(dirname $0)/astyle.options
+if type -p cygpath >/dev/null; then
+ ASTYLEOPTS="$(cygpath -w $ASTYLEOPTS)"
+fi
+
+set -e
+
+astyleit() {
+ $ASTYLE --options="$ASTYLEOPTS" "$1"
+ #modified=$1.unify_includes_modified
+ #cp "$1" "$modified"
+ #scripts/unify_includes.pl "$modified"
+ #scripts/doxygen_space.pl "$modified"
+ #diff "$1" "$modified" >/dev/null || mv "$modified" "$1"
+ #rm -f "$modified"
+}
+
+for f in "$@"; do
+ case "$f" in
+ thirdparty/*)
+ echo -ne "$f skipped $elcr"
+ continue
+ ;;
+
+ *.cpp|*.h|*.c|*.h|*.cxx|*.hxx|*.c++|*.h++|*.cc|*.hh|*.C|*.H|*.hpp)
+ if [ -x "$f" ]; then
+ chmod a-x "$f"
+ fi
+ cmd=astyleit
+ ;;
+
+ *.py)
+ #cmd="autopep8 --in-place --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701"
+ echo -ne "Formatting $f $elcr"
+ cmd="autopep8 --in-place --ignore=E261,E265,E402,E501"
+ ;;
+
+
+ *)
+ echo -ne "$f skipped $elcr"
+ continue
+ ;;
+ esac
+
+ if ! [ -f "$f" ]; then
+ echo "$f not found" >&2
+ continue
+ fi
+
+ if [[ -f $f && `head -c 3 $f` == $'\xef\xbb\xbf' ]]; then
+ mv $f $f.bom
+ tail -c +4 $f.bom > $f
+ echo "removed BOM from $f"
+ fi
+
+ modified=$f.flip_modified
+ cp "$f" "$modified"
+ flip -ub "$modified"
+ diff "$f" "$modified" >/dev/null || mv "$modified" "$f"
+ rm -f "$modified"
+ eval "$cmd '$f'"
+done