# start with `+`
# v
$ export PS4='+\033[37;2;3m(${BASH_SOURCE}:${LINENO})\033[0m: \033[35;2;3m${FUNCNAME[0]:+${FUNCNAME[0]}():}\033[0m '
$ bash -x diff.sh
+(diff.sh:4): set -euo pipefail
+(diff.sh:13): array1=("key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10")
+(diff.sh:14): array2=("key1" "key3" "key4" "key2" "key5" "key6")
+(diff.sh:15): array3=($(diff array1[@] array2[@]))
++(diff.sh:15): diff 'array1[@]' 'array2[@]'
+++(diff.sh:9): diff(): echo -n key1 key2 key3 key4 key5 key6 key7 key8 key9 key10
++(diff.sh:9): diff(): awk 'BEGIN{RS=ORS=" "}
{ NR==FNR ? a[$0]++ : a[$0]-- }
END { for(k in a)if(a[k])print k }' /dev/fd/63 /dev/fd/62
+++(diff.sh:9): diff(): echo -n key1 key3 key4 key2 key5 key6
+(diff.sh:16): echo key10 key7 key8 key9
key10 key7 key8 key9
# `+` is here
# v
$ export PS4='\033[37;2;3m+(${BASH_SOURCE}:${LINENO})\033[0m: \033[35;2;3m${FUNCNAME[0]:+${FUNCNAME[0]}():}\033[0m '
$ bash -x diff.sh
+(diff.sh:4): set -euo pipefail
+(diff.sh:13): array1=("key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10")
+(diff.sh:14): array2=("key1" "key3" "key4" "key2" "key5" "key6")
+(diff.sh:15): array3=($(diff array1[@] array2[@]))
+(diff.sh:15): diff 'array1[@]' 'array2[@]'
+(diff.sh:9): diff(): echo -n key1 key2 key3 key4 key5 key6 key7 key8 key9 key10
+(diff.sh:9): diff(): awk 'BEGIN{RS=ORS=" "}
{ NR==FNR ? a[$0]++ : a[$0]-- }
END { for(k in a)if(a[k])print k }' /dev/fd/63 /dev/fd/62
+(diff.sh:9): diff(): echo -n key1 key3 key4 key2 key5 key6
+(diff.sh:16): echo key10 key7 key8 key9
key10 key7 key8 key9
