#!/bin/sh
set -e
set -u

echo "Formatting */*.ps1 ... "
for my_ps1 in */*.ps1; do
    my_dir="$(
        dirname "${my_ps1}"
    )"
    if test -L "${my_ps1}" ||
        test -L "${my_dir}" ||
        ! test -f "${my_ps1}" ||
        ! test -d "${my_dir}"; then
        printf '    SKIP %s (non-regular file or parent directory)\n' "${my_ps1}"
        continue
    fi

    printf "    %s" "${my_ps1}"

    # -Settings ./Settings/CodeFormatting.psd1
    my_new_file="$(
        pwsh -Command "Invoke-Formatter -ScriptDefinition (Get-Content -Path '${my_ps1}' -Raw)"
    )"
    printf '%s\n' "${my_new_file}" > "${my_ps1}"

    printf '\n'
done
