Allow and require passing files on command line of pgperltidy

pgperltidy as well as pgperlcritic and pgperlsyncheck now allow
passing files and directories on the command line, like pgindent does.
(Previously, they would always operate on the whole tree.)

Also, for consistency with pgindent's new behavior (as of b16259b3c1),
passing an argument is now required.  To get the previous default
behavior, use "pgperltidy ." for example.

Discussion: https://www.postgresql.org/message-id/flat/45aacd8a-5265-d9da-8df2-b8e2c0cf6a07%40eisentraut.org
This commit is contained in:
Peter Eisentraut 2023-06-21 16:14:47 +02:00
parent 8cca660b0b
commit 3d9fd1a874
5 changed files with 10 additions and 6 deletions

View File

@ -3,11 +3,15 @@
# shell function to find all perl files in the source tree
find_perl_files () {
if [ $# -eq 0 ]; then
echo 'No files to process' 1>&2
return
fi
{
# take all .pl and .pm files
find . -type f -name '*.p[lm]' -print
find "$@" -type f -name '*.p[lm]' -print
# take executable files that file(1) thinks are perl files
find . -type f -perm -100 -exec file {} \; -print |
find "$@" -type f -perm -100 -exec file {} \; -print |
egrep -i ':.*perl[0-9]*\>' |
cut -d: -f1
} | sort -u | grep -v '^\./\.git/'

View File

@ -14,7 +14,7 @@ PERLCRITIC=${PERLCRITIC:-perlcritic}
. src/tools/perlcheck/find_perl_files
find_perl_files | xargs $PERLCRITIC \
find_perl_files "$@" | xargs $PERLCRITIC \
--quiet \
--program-extensions .pl \
--profile=src/tools/perlcheck/perlcriticrc

View File

@ -13,4 +13,4 @@ set -e
# for zsh
setopt shwordsplit 2>/dev/null || true
find_perl_files | xargs -L 1 perl $INCLUDES -cw 2>&1 | grep -v OK
find_perl_files "$@" | xargs -L 1 perl $INCLUDES -cw 2>&1 | grep -v OK

View File

@ -45,7 +45,7 @@ DOING THE INDENT RUN:
4) Indent the Perl code using perltidy:
src/tools/pgindent/pgperltidy
src/tools/pgindent/pgperltidy .
If you want to use some perltidy version that's not in your PATH,
first set the PERLTIDY environment variable to point to it.

View File

@ -9,4 +9,4 @@ PERLTIDY=${PERLTIDY:-perltidy}
. src/tools/perlcheck/find_perl_files
find_perl_files | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc
find_perl_files "$@" | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc