| 1 | |
| 2 | |
| 3 | shopt -s extdebug |
| 4 | highlight() { |
| 5 | if [ "$BASH_LOADED" = false ] || [ "$BASH_COMMAND" = "uh" ] || [ "$BASH_COMMAND" = "hh" ] || [[ "$BASH_COMMAND" =~ "trap" ]]; then |
| 6 | return 0 |
| 7 | fi |
| 8 | results=$(eval "$BASH_COMMAND" 2>&1) |
| 9 | status=$? |
| 10 | if [ -n "$results" ]; then |
| 11 | echo -e "$results" | sed "s|^.*$(pwd).*$|$(printf '\033[0;34m')\0$(printf '\033[0m')|g" |
| 12 | fi |
| 13 | |
| 14 | if [ $status=0 ]; then |
| 15 | return 69 |
| 16 | fi |
| 17 | echo "status: $status" |
| 18 | return $status |
| 19 | } |
| 20 | uh() { |
| 21 | echo -e "\033[31mUnsetting highlight trap\033[0m" |
| 22 | trap - DEBUG |
| 23 | } |
| 24 | hh() { |
| 25 | echo -e "\033[32mSetting highlight trap\033[0m" |
| 26 | trap highlight DEBUG |
| 27 | } |
| 28 | |