      (font-latex-verbatim-face                     :foreground base09)
      (font-latex-warning-face                      :foreground base08)
 
-     ;; dired+
+;;;; clojure-mode
+     (clojure-keyword                              :foreground base0A)
+     (clojure-parens                               :foreground base06)
+     (clojure-braces                               :foreground base0B)
+     (clojure-brackets                             :foreground base0A)
+     (clojure-double-quote                         :foreground base0C :background nil)
+     (clojure-special                              :foreground base0D)
+     (clojure-java-call                            :foreground base0E)
+
+;;;; clojure-test-mode
+     (clojure-test-failure-face                    :background nil :inherit flymake-warnline)
+     (clojure-test-error-face                      :background nil :inherit flymake-errline)
+     (clojure-test-success-face                    :foreground nil :background nil :underline base0B)
+
+;;;; company-mode
+     (company-tooltip                              :background base01 :inherit default)
+     (company-scrollbar-bg                         :background base07)
+     (company-scrollbar-fg                         :background base04)
+     (company-tooltip-annotation                   :foreground base08)
+     (company-tooltip-common                       :inherit font-lock-constant-face)
+     (company-tooltip-selection                    :background base02 :inherit font-lock-function-name-face)
+     (company-preview-common                       :inherit secondary-selection)
+
+;;;; cscope-minor-mode
+     (cscope-file-face                             :foreground base0B)
+     (cscope-function-face                         :foreground base0D)
+     (cscope-line-number-face                      :foreground base0A)
+     (cscope-mouse-face                            :foreground base04 :background base01)
+     (cscope-separator-face                        :foreground base08 :overline t :underline t :weight bold)
+
+;;;; csv-mode
+     (csv-separator-face                           :foreground base09)
+
+;;;; diff-hl-mode
+     (diff-hl-change                               :foreground base0E)
+     (diff-hl-delete                               :foreground base08)
+     (diff-hl-insert                               :foreground base0B)
+
+;;;; diff-mode
+     (diff-added                                   :foreground base0B)
+     (diff-changed                                 :foreground base0E)
+     (diff-removed                                 :foreground base08)
+     (diff-header                                  :background base01)
+     (diff-file-header                             :background base02)
+     (diff-hunk-header                             :foreground base0E :background base01)
+
+;;;; dired+
      (diredp-compressed-file-suffix                :foreground base0D)
      (diredp-dir-heading                           :foreground nil :background nil :inherit heading)
      (diredp-dir-priv                              :foreground base0C :background nil)

     (helm-source-header                           :foreground base05 :background base01 :weight bold)
     (helm-visible-mark                            :foreground base00 :background base0B)

     ;; powerline
     (powerline-active1                            :foreground base09 :background base00)
     (powerline-active2                            :foreground base08 :background base01)
     (powerline-inactive1                          :foreground base06 :background base01)
     (powerline-inactive2                          :foreground base07 :background base02)

     (custom-variable-tag                          :foreground base0D)
     (custom-group-tag                             :foreground base0D)
     (custom-state                                 :foreground base0B)))

  ;; Anything leftover that doesn't fall neatly into a face goes here.
  (let ((base00 (plist-get theme-colors :base00))

     (diredp-symlink                               :foreground base0E)
     (diredp-write-priv                            :foreground base0A :background nil)

;;;; ediff-mode
     (ediff-even-diff-A                            :foreground nil :background nil :inverse-video t)
     (ediff-even-diff-B                            :foreground nil :background nil :inverse-video t)
     (ediff-odd-diff-A                             :foreground base04 :background nil :inverse-video t)
     (ediff-odd-diff-B                             :foreground base04 :background nil :inverse-video t)

;;;; eldoc-mode
     (eldoc-highlight-function-argument            :foreground base0B :weight bold)

;;;; erc
     (erc-direct-msg-face                          :foreground base09)
     (erc-error-face                               :foreground base08)
     (erc-header-face                              :foreground base06 :background base04)
     (erc-input-face                               :foreground base0B)
     (erc-keyword-face                             :foreground base0A)
     (erc-current-nick-face                        :foreground base0B)
     (erc-my-nick-face                             :foreground base0B)
     (erc-nick-default-face                        :foreground base0E :weight normal)
     (erc-nick-msg-face                            :foreground base0A :weight normal)
     (erc-notice-face                              :foreground base04)
     (erc-pal-face                                 :foreground base09)
     (erc-prompt-face                              :foreground base0D)
     (erc-timestamp-face                           :foreground base0C)

;;;; eshell
     (eshell-ls-archive                            :foreground base08)
     (eshell-ls-backup                             :foreground base0F)
     (eshell-ls-clutter                            :foreground base09)
     (eshell-ls-directory                          :foreground base0D)
     (eshell-ls-executable                         :foreground base0B)
     (eshell-ls-missing                            :foreground base08)
     (eshell-ls-product                            :foreground base0F)
     (eshell-ls-readonly                           :foreground base06)
     (eshell-ls-special                            :foreground base0E)
     (eshell-ls-symlink                            :foreground base0C)
     (eshell-ls-unreadable                         :foreground base04)
     (eshell-prompt                                :foreground base05)

;;;; evil-mode
     (evil-search-highlight-persist-highlight-face :background base01 :inverse-video t :inherit font-lock-warning-face)

;;;; flycheck-mode
     (flycheck-error                               :underline (:style wave :color base08))
     (flycheck-info                                :underline (:style wave :color base0B))
     (flycheck-warning                             :underline (:style wave :color base09))

;;;; flymake-mode
     (flymake-warnline                             :background base01 :underline base09)
     (flymake-errline                              :background base01 :underline base08)

;;;; flyspell-mode
     (flyspell-duplicate                           :underline (:style wave :color base09))
     (flyspell-incorrect                           :underline (:style wave :color base08))

;;;; git-gutter-mode
     (git-gutter:added                             :foreground base0B)
     (git-gutter:deleted                           :foreground base08)
     (git-gutter:modified                          :foreground base0E)
     (git-gutter:separator                         :foreground base0C)
     (git-gutter:unchanged                         :foreground base0A :inverse-video t)

;;;; git-gutter+-mode
     (git-gutter+-added                            :foreground base0B)
     (git-gutter+-deleted                          :foreground base08)
     (git-gutter+-modified                         :foreground base0E)
     (git-gutter+-unchanged                        :foreground base0A :inverse-video t)

;;;; git-gutter-fringe
     (git-gutter-fr:added                          :foreground base0B)
     (git-gutter-fr:deleted                        :foreground base08)
     (git-gutter-fr:modified                       :foreground base0E)

;;;; gnus
     (gnus-cite-1                                  :foreground nil :inherit outline-1)
     (gnus-cite-2                                  :foreground nil :inherit outline-2)
     (gnus-cite-3                                  :foreground nil :inherit outline-3)
