#!/bin/bash script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" function error () { echo "ERROR: $@" >&2 exit 1 } function usage() { cat \ < /dev/null 2>&1 || error "uncrustify not found" do_inplace=no do_recursive=no do_check=no blacklist= while getopts ":ib:ax" opt; do case $opt in i) do_inplace=yes ;; b) blacklist=$(cat $OPTARG | sed s/,/ /g) ;; c) cfg=$OPTARG ;; a) do_recursive=yes ;; x) do_check=yes ;; \?) usage error "invalid argument: -$OPTARG" ;; esac done shift $((OPTIND-1)) [[ -e $cfg ]] || ( usage && error "config file $cfg not found" ) [[ $# -gt 0 && $do_recursive == yes ]] && \ usage && error "no file args expected in recursive mode" [[ $# -eq 0 && $do_recursive == no ]] && \ usage && error "expected file args in non-recursive mode" if [[ $do_recursive == yes ]] ; then file_list="$(getfiles $blacklist)" else file_list="$@" fi if [[ $do_recursive == yes && $do_inplace == yes ]] ; then echo -n "Do recursive in-place reformat? (y/n) " read answer [[ $answer =~ "[^y].*" ]] && echo "...aborting reformat" && exit 1 fi [[ $do_inplace == yes ]] \ && output_arg="--replace" \ || output_arg= if [[ $do_check == yes ]] ; then check_arg=--check output_arg= echo "checking format..." else check_arg= fi function echolines () { for x in $@ ; do echo $x ; done } echolines $file_list | uncrustify $check_arg -c $cfg $output_arg -F -