mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-12-27 21:10:55 +00:00
62 lines
1.6 KiB
Text
62 lines
1.6 KiB
Text
|
#!/bin/bash
|
||
|
|
||
|
#
|
||
|
# perltidy rules can be found in ../.perltidyrc
|
||
|
#
|
||
|
usage() {
|
||
|
cat << EOF
|
||
|
Usage:
|
||
|
tidy [-c|--check] [-f|--force] [-o|--only-changed] [-l|--list] [path/to/file]
|
||
|
|
||
|
Options:
|
||
|
-h, -?, --help display this help
|
||
|
-c, --check Only check for style check differences
|
||
|
-f, --force Force check even if tidy version mismatches
|
||
|
-o --only-changed Only tidy files with uncommitted changes in git. This can
|
||
|
speed up execution a lot.
|
||
|
-l --list List files tidy would touch
|
||
|
path/to/file When passing a file as argument, tidy will run perltidy
|
||
|
wether it is added to the git tree or not
|
||
|
|
||
|
perltidy rules can be found in .perltidyrc
|
||
|
EOF
|
||
|
exit
|
||
|
}
|
||
|
|
||
|
set -eo pipefail
|
||
|
dir="$(dirname "$0")"
|
||
|
|
||
|
args=""
|
||
|
selection='--all'
|
||
|
[[ -e "$dir/perlfiles" ]] && selection=$("$dir"/perlfiles)
|
||
|
opts=$(getopt -o hcfol --long help,check,force,only-changed,list -n "$0" -- "$@") || usage
|
||
|
eval set -- "$opts"
|
||
|
while true; do
|
||
|
case "$1" in
|
||
|
-h | --help ) usage; shift ;;
|
||
|
-c | --check ) args+=' --check-only'; shift ;;
|
||
|
-f | --force ) force=true; shift ;;
|
||
|
-o | --only-changed ) selection='--git'; shift ;;
|
||
|
-l | --list ) args+='--list'; shift ;;
|
||
|
-- ) shift; break ;;
|
||
|
* ) break ;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
shift $((OPTIND - 1))
|
||
|
filename=${*:-"$selection"}
|
||
|
|
||
|
if ! command -v perltidy > /dev/null 2>&1; then
|
||
|
echo "No perltidy found, install it first!"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# go to caller directory
|
||
|
cd "$dir"
|
||
|
|
||
|
# just to make sure we are at the right location
|
||
|
test -e tidy || exit 1
|
||
|
|
||
|
# shellcheck disable=SC2086
|
||
|
tidyall $args $filename
|