Add color output to `pushd` and `popd` in Bash

Source code:

<pre style="background-color:#ffffff;">
<span style="font-style:italic;color:#969896;"># custom dirs
</span><span style="font-style:italic;color:#969896;"># - default to 'dirs -v' format and colorize the output
</span><span style="font-weight:bold;color:#a71d5d;">function </span><span style="font-weight:bold;color:#795da3;">dirs </span><span style="color:#323232;">() { 
</span><span style="color:#323232;">  </span><span style="font-style:italic;color:#969896;"># if no arguments, or single argument is -v or -c, then colorize
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#a71d5d;">if </span><span style="color:#62a35c;">[ </span><span style="color:#323232;">$# -eq 0 </span><span style="color:#62a35c;">] </span><span style="font-weight:bold;color:#a71d5d;">|| </span><span style="color:#323232;">{ </span><span style="color:#62a35c;">[ </span><span style="color:#323232;">$# -eq 1 </span><span style="color:#62a35c;">] </span><span style="font-weight:bold;color:#a71d5d;">&& </span><span style="color:#323232;">{ </span><span style="color:#62a35c;">[ </span><span style="color:#183691;">"$</span><span style="color:#323232;">1</span><span style="color:#183691;">" </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#183691;">"-v" </span><span style="color:#62a35c;">] </span><span style="font-weight:bold;color:#a71d5d;">|| </span><span style="color:#62a35c;">[ </span><span style="color:#183691;">"$</span><span style="color:#323232;">1</span><span style="color:#183691;">" </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#183691;">"-c" </span><span style="color:#62a35c;">]</span><span style="font-weight:bold;color:#a71d5d;">; </span><span style="color:#323232;">}</span><span style="font-weight:bold;color:#a71d5d;">; </span><span style="color:#323232;">}</span><span style="font-weight:bold;color:#a71d5d;">; then 
</span><span style="color:#323232;">    </span><span style="font-style:italic;color:#969896;"># if argument is -c, run it (clear stack)
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">if </span><span style="color:#62a35c;">[ </span><span style="color:#183691;">"$</span><span style="color:#323232;">1</span><span style="color:#183691;">" </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#183691;">"-c" </span><span style="color:#62a35c;">]</span><span style="font-weight:bold;color:#a71d5d;">; then
</span><span style="color:#323232;">      </span><span style="color:#62a35c;">command</span><span style="color:#323232;"> dirs -c</span><span style="font-weight:bold;color:#a71d5d;">;
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">fi;
</span><span style="color:#323232;">
</span><span style="color:#323232;">    </span><span style="font-style:italic;color:#969896;"># colorize output
</span><span style="color:#323232;">    </span><span style="color:#62a35c;">command</span><span style="color:#323232;"> dirs -v </span><span style="font-weight:bold;color:#a71d5d;">| </span><span style="color:#62a35c;">command</span><span style="color:#323232;"> awk </span><span style="color:#183691;">'
</span><span style="color:#183691;">      BEGIN {
</span><span style="color:#183691;">        green = "
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • wartaberita
  • uselessserver093
  • Food
  • [email protected]
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • Socialism
  • TheResearchGuardian
  • SuperSentai
  • feritale
  • oklahoma
  • Testmaggi
  • KbinCafe
  • Ask_kbincafe
  • KamenRider
  • All magazines