1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
# Do NOT error on failed commands
set +e
if ! (return 0 2>/dev/null); then
printf 'Error: script must be sourced to load config options correctly
Ex: source %s\n' "$0" >&2
exit 1
fi
report="bug-report.txt"
if [[ -f "$report" ]]; then
printf '"%s" already exists, refusing to overwrite!\n' "$report" >&2
return 1
fi
(
if [[ -n "${ZSH_VERSION-}" ]]; then
printf -- '---Shell: Zsh\n\n'
typeset -m PS1
typeset -m 'LP_*'
SCRIPT_DIR="${0:A:h}"
else
printf -- '---Shell: Bash\n\n'
printf 'PROMPT_COMMAND:\n'
printf '%q\n' "${PROMPT_COMMAND[@]}"
printf '\n'
vars="$(compgen -A variable LP_)"
IFS=$'\n'
for var in PS1 $vars; do
printf '%s=%s\n' "$var" "${!var}"
done
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
fi
printf -- '\n---Git details:\ngit describe: "%s"\ngit rev-parse: "%s"\n\n' \
"$(git describe 2>/dev/null)" "$(git rev-parse HEAD 2>/dev/null)"
"${SCRIPT_DIR}/external-tool-tester.sh"
) >>"$report"
printf 'Bug report written to %s\nAttach the file in a GitHub issue comment.\n' "$report" >&2
|