installer: don't assume GNU diff
macOS Ventura ships with it's own version of diff. Try to output a similar diff with Apple diff as with GNU diff, instead of failing Helps https://github.com/NixOS/nix/issues/7286
This commit is contained in:
parent
8730d3002f
commit
367fcd9eb5
1 changed files with 8 additions and 1 deletions
|
@ -246,8 +246,15 @@ printf -v _OLD_LINE_FMT "%b" $'\033[1;7;31m-'"$ESC ${RED}%L${ESC}"
|
||||||
printf -v _NEW_LINE_FMT "%b" $'\033[1;7;32m+'"$ESC ${GREEN}%L${ESC}"
|
printf -v _NEW_LINE_FMT "%b" $'\033[1;7;32m+'"$ESC ${GREEN}%L${ESC}"
|
||||||
|
|
||||||
_diff() {
|
_diff() {
|
||||||
|
# macOS Ventura doesn't ship with GNU diff. Print similar output except
|
||||||
|
# without +/- markers or dimming
|
||||||
|
if diff --version | grep -q "Apple diff"; then
|
||||||
|
printf -v CHANGED_GROUP_FORMAT "%b" "${GREEN}%>${RED}%<${ESC}"
|
||||||
|
diff --changed-group-format="$CHANGED_GROUP_FORMAT" "$@"
|
||||||
|
else
|
||||||
# simple colorized diff comatible w/ pre `--color` versions
|
# simple colorized diff comatible w/ pre `--color` versions
|
||||||
diff --unchanged-group-format="$_UNCHANGED_GRP_FMT" --old-line-format="$_OLD_LINE_FMT" --new-line-format="$_NEW_LINE_FMT" --unchanged-line-format=" %L" "$@"
|
diff --unchanged-group-format="$_UNCHANGED_GRP_FMT" --old-line-format="$_OLD_LINE_FMT" --new-line-format="$_NEW_LINE_FMT" --unchanged-line-format=" %L" "$@"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
confirm_rm() {
|
confirm_rm() {
|
||||||
|
|
Loading…
Reference in a new issue