      (gnus-group-news-5-empty                      :foreground base04 :inherit gnus-group-news-5)
      (gnus-group-news-6-empty                      :foreground base04 :inherit gnus-group-news-6)
 
-     (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)
-
-     ;; helm
+;;;; go-guru
+     (go-guru-hl-identifier-face                   :background base02)
+
+;;;; grep
+     (grep-context-face                            :foreground base04)
+     (grep-error-face                              :foreground base08 :weight bold :underline t)
+     (grep-hit-face                                :foreground base0D)
+     (grep-match-face                              :foreground nil :background nil :inherit match)
+
+;;;; helm
      (helm-M-x-key                                 :foreground base0C)
      (helm-action                                  :foreground base05)
      (helm-buffer-directory                        :foreground base04 :background nil :weight bold)

     (font-lock-variable-name-face                 :foreground base08)
     (font-lock-warning-face                       :foreground base08)

     ;; linum-mode
     (linum                                        :foreground base03 :background base01)

     ;; line highlight
     (hl-line                                      :background base01)
     (col-highlight                                :background base01)

     ;; Search
     (match                                        :foreground base0D :background base01 :inverse-video t)
     (isearch                                      :foreground base0A :background base01 :inverse-video t)
     (isearch-lazy-highlight-face                  :foreground base0C :background base01 :inverse-video t)
     (isearch-fail                                 :background base01 :inverse-video t :inherit font-lock-warning-face)
     (anzu-mode-line                               :foreground base0E)
     (evil-search-highlight-persist-highlight-face :background base01 :inverse-video t :inherit font-lock-warning-face)
     (go-guru-hl-identifier-face                   :background base02)

     ;; Popups
     (popup-face                                   :foreground base05 :background base02)
     (popup-isearch-match                          :foreground base00 :background base0B)
     (popup-scroll-bar-background-face             :background base03)
     (popup-scroll-bar-foreground-face             :background base05)
     (popup-summary-face                           :foreground base04)
     (popup-tip-face                               :foreground base00 :background base0A)
     (popup-menu-mouse-face                        :foreground base00 :background base0D)
     (popup-menu-selection-face                    :foreground base00 :background base0C)

     ;; 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)

     ;; 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)

     ;; ivy-mode
     (ivy-current-match                            :foreground base09 :background base01)
     (ivy-minibuffer-match-face-1                  :foreground base0E)
     (ivy-minibuffer-match-face-2                  :foreground base0D)
     (ivy-minibuffer-match-face-3                  :foreground base0C)
     (ivy-minibuffer-match-face-4                  :foreground base0B)
     (ivy-confirm-face                             :foreground base0B)
     (ivy-match-required-face                      :foreground base08)
     (ivy-virtual                                  :foreground base04)
     (ivy-action                                   :foreground base0D)

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

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

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

     ;; Clojure errors
     (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)

     ;; 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)

     ;; MMM-mode
     (mmm-code-submode-face                        :background base03)
     (mmm-comment-submode-face                     :inherit font-lock-comment-face)
     (mmm-output-submode-face                      :background base03)

     ;; rainbow-delimiters
     (rainbow-delimiters-depth-1-face              :foreground base0E)
     (rainbow-delimiters-depth-2-face              :foreground base0D)
     (rainbow-delimiters-depth-3-face              :foreground base0C)
     (rainbow-delimiters-depth-4-face              :foreground base0B)
     (rainbow-delimiters-depth-5-face              :foreground base0A)
     (rainbow-delimiters-depth-6-face              :foreground base09)
     (rainbow-delimiters-depth-7-face              :foreground base08)
     (rainbow-delimiters-depth-8-face              :foreground base03)
     (rainbow-delimiters-depth-9-face              :foreground base05)

     ;; spaceline
     (spaceline-evil-emacs                         :foreground base01 :background base0D)
     (spaceline-evil-insert                        :foreground base01 :background base0D)
     (spaceline-evil-motion                        :foreground base01 :background base0E)
     (spaceline-evil-normal                        :foreground base01 :background base0B)
     (spaceline-evil-replace                       :foreground base01 :background base08)
     (spaceline-evil-visual                        :foreground base01 :background base09)

     ;; IDO
     (ido-subdir                                   :foreground base04)
     (ido-first-match                              :foreground base09 :weight bold)
     (ido-only-match                               :foreground base08 :weight bold)
     (ido-indicator                                :foreground base08 :background base01)
     (ido-virtual                                  :foreground base04)

     ;; which-function
     (which-func                                   :foreground base0D :background nil :weight bold)

     (trailing-whitespace                          :foreground base0A :background base0C)
     (whitespace-empty                             :foreground base08 :background base0A)
     (whitespace-hspace                            :foreground base04 :background base04)
     (whitespace-indentation                       :foreground base08 :background base0A)
     (whitespace-line                              :foreground base0F :background base01)
     (whitespace-newline                           :foreground base04)
     (whitespace-space                             :foreground base03 :background base01)
     (whitespace-space-after-tab                   :foreground base08 :background base0A)
     (whitespace-space-before-tab                  :foreground base08 :background base09)
     (whitespace-tab                               :foreground base03 :background base01)
     (whitespace-trailing                          :foreground base0A :background base08)

     ;; Parenthesis matching (built-in)
     (show-paren-match                             :foreground base01 :background base0D)
     (show-paren-mismatch                          :foreground base01 :background base09)

     ;; Parenthesis matching (mic-paren)
     (paren-face-match                             :foreground nil :background nil :inherit show-paren-match)
     (paren-face-mismatch                          :foreground nil :background nil :inherit show-paren-mismatch)
     (paren-face-no-match                          :foreground nil :background nil :inherit show-paren-mismatch)

     ;; Parenthesis dimming (parenface)
     (paren-face                                   :foreground base04 :background nil)

     (sh-heredoc                                   :foreground nil :weight normal :inherit font-lock-string-face)
     (sh-quoted-exec                               :foreground nil :inherit font-lock-preprocessor-face)
     (slime-highlight-edits-face                   :weight bold)
     (slime-repl-input-face                        :weight normal :underline nil)
     (slime-repl-prompt-face                       :foreground base0E :underline nil :weight bold)
     (slime-repl-result-face                       :foreground base0B)
     (slime-repl-output-face                       :foreground base0D :background base01)

     (csv-separator-face                           :foreground base09)

     (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)

     (diff-hl-change                               :foreground base0E)
     (diff-hl-delete                               :foreground base08)
     (diff-hl-insert                               :foreground base0B)
     (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-fr:added                          :foreground base0B)
     (git-gutter-fr:deleted                        :foreground base08)
     (git-gutter-fr:modified                       :foreground base0E)
     (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)

     (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-highlight-function-argument            :foreground base0B :weight bold)

     ;; undo-tree
     (undo-tree-visualizer-default-face            :foreground base06)
     (undo-tree-visualizer-current-face            :foreground base0B :weight bold)
     (undo-tree-visualizer-active-branch-face      :foreground base08)
     (undo-tree-visualizer-register-face           :foreground base0A)

     ;; auctex
     (font-latex-bold-face                         :foreground base0B)
     (font-latex-doctex-documentation-face         :background base03)
     (font-latex-italic-face                       :foreground base0B)

     (font-latex-verbatim-face                     :foreground base09)
     (font-latex-warning-face                      :foreground base08)

;;;; 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)
