EvanLovely
8/28/2014 - 9:54 PM

Search Sass for Extended Classes and show a report

Search Sass for Extended Classes and show a report

#!/bin/bash
if [[ "$1" == "" ]]; then
  echo "Please pass in the path to the Sass directory to search for extended class"
  exit 1
fi
dir="$1"
uses="$(grep -rn "@extend \." "$dir")"
IFS=$'\n'
classes=""
for i in $uses; do
  file="$(echo "$i" | sed "s,:.*,,")"
  class="$(echo "$i" | sed "s,.*\@extend ,," | sed "s,;.*,,")"
  classes="$(echo "$class" | sed "s, ,,")
  "
  line="$(echo "$i" | sed "s,$file,," | sed "s,$class,," | sed "s,@extend.*,,")"
  echo "In file: $(echo "$file" | sed "s,$dir,,")"
  echo "$class is extended on line $line"
  
  echo ""
done
echo "Top 20 most extended classes:"
echo "$(grep -r "@extend \." "$dir" | sed "s,.*@extend ,," | sed "s,;.*,," | sort | uniq -c | sort -rn | head -20)"
unset IFS