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}"
|
||||
|
||||
_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
|
||||
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() {
|
||||
|
|
Loading…
Reference in a new issue