Emacs mode which colours macros

Has anyone made a Clojure mode in emacs that understands the parts of macros and can colour eg. ~x differently from x differently from x# etc?