config

Personal configuration.
git clone git://code.dwrz.net/config
Log | Files | Refs

base16-theme.el (64450B)


      1 ;;; base16-theme.el --- A set of base16 themes for your favorite editor
      2 
      3 ;; Author: Kaleb Elwert <belak@coded.io>
      4 ;;         Neil Bhakta
      5 ;; Maintainer: Kaleb Elwert <belak@coded.io>
      6 ;; Version: 3.0
      7 ;; Homepage: https://github.com/tinted-theming/base16-emacs
      8 
      9 ;;; Commentary:
     10 ;; base16-theme is a collection of themes built around the base16
     11 ;; concept (https://github.com/tinted-theming/base16).  All themes are
     12 ;; generated from the official set of color schemes and the templates
     13 ;; which are included in this repo.
     14 
     15 ;;; Code:
     16 
     17 (defcustom base16-theme-256-color-source 'terminal
     18   "Where to get the colors in a 256-color terminal.
     19 
     20 In a 256-color terminal, it's not clear where the colors should come from.
     21 There are 3 possible values: terminal (which was taken from the xresources
     22 theme), base16-shell (which was taken from a combination of base16-shell and
     23 the xresources theme) and colors (which will be converted from the actual
     24 html color codes to the closest color).
     25 
     26 Note that this needs to be set before themes are loaded or it will not work."
     27   :type '(radio (const :tag "Terminal" terminal)
     28                 (const :tag "Base16 shell" base16-shell)
     29                 (const :tag "Colors" colors))
     30   :group 'base16)
     31 
     32 (defcustom base16-theme-distinct-fringe-background t
     33   "Make the fringe background different from the normal background color.
     34 Also affects `linum-mode' background."
     35   :type 'boolean
     36   :group 'base16)
     37 
     38 (defcustom base16-theme-highlight-mode-line nil
     39   "Make the active mode line stand out more.
     40 
     41 There are two choices for applying the emphasis:
     42   box:      Draws a thin border around the active
     43             mode line.
     44   contrast: Use the \"default\" face's foreground
     45             which should result in more contrast."
     46   :type '(radio (const :tag "Off" nil)
     47                 (const :tag "Draw box around" box)
     48                 (const :tag "Contrast" contrast))
     49   :group 'base16)
     50 
     51 (defvar base16-theme-shell-colors
     52   '(:base00 "black"
     53     :base01 "brightgreen"
     54     :base02 "brightyellow"
     55     :base03 "brightblack"
     56     :base04 "brightblue"
     57     :base05 "white"
     58     :base06 "brightmagenta"
     59     :base07 "brightwhite"
     60     :base08 "red"
     61     :base09 "brightred"
     62     :base0A "yellow"
     63     :base0B "green"
     64     :base0C "cyan"
     65     :base0D "blue"
     66     :base0E "magenta"
     67     :base0F "brightcyan")
     68   "Base16 colors used when in a terminal and not using base16-shell.
     69 
     70 These mappings are based on the xresources themes.  If you're
     71 using a different terminal color scheme, you may want to look for
     72 an alternate theme for use in the terminal.")
     73 
     74 (defvar base16-theme-shell-colors-256
     75   '(:base00 "black"
     76     :base01 "color-18"
     77     :base02 "color-19"
     78     :base03 "brightblack"
     79     :base04 "color-20"
     80     :base05 "white"
     81     :base06 "color-21"
     82     :base07 "brightwhite"
     83     :base08 "red"
     84     :base09 "color-16"
     85     :base0A "yellow"
     86     :base0B "green"
     87     :base0C "cyan"
     88     :base0D "blue"
     89     :base0E "magenta"
     90     :base0F "color-17")
     91   "Base16 colors used when in a terminal and using base16-shell.
     92 
     93 These mappings are based on the xresources themes combined with
     94 the base16-shell code.  If you're using a different terminal
     95 color scheme, you may want to look for an alternate theme for use
     96 in the terminal.")
     97 
     98 (defun base16-theme-transform-color-key (key colors)
     99   "Transform a given color `KEY' into a theme color using `COLORS'.
    100 
    101 This function is meant for transforming symbols to valid colors.
    102 If the value refers to a setting then return whatever is appropriate.
    103 If not a setting but is found in the valid list of colors then
    104 return the actual color value.  Otherwise return the value unchanged."
    105   (if (symbolp key)
    106       (cond
    107 
    108        ((string= (symbol-name key) "base16-settings-fringe-bg")
    109         (if base16-theme-distinct-fringe-background
    110             (plist-get colors :base01)
    111 		  (plist-get colors :base00)))
    112 
    113 	   ((string= (symbol-name key) "base16-settings-mode-line-box")
    114 		(if (eq base16-theme-highlight-mode-line 'box)
    115 			(list :line-width 1 :color (plist-get colors :base04))
    116 		  nil))
    117 
    118 	   ((string= (symbol-name key) "base16-settings-mode-line-fg")
    119 		(if (eq base16-theme-highlight-mode-line 'contrast)
    120 			(plist-get colors :base05)
    121 		  (plist-get colors :base04)))
    122 
    123 	   (t
    124 		(let ((maybe-color (plist-get colors (intern (concat ":" (symbol-name key))))))
    125 		  (if maybe-color
    126 			  maybe-color
    127 			key))))
    128     key))
    129 
    130 
    131 (defun base16-theme-transform-spec (spec colors)
    132   "Transform a theme `SPEC' into a face spec using `COLORS'."
    133   (let ((output))
    134     (while spec
    135       (let* ((key (car spec))
    136              (value (base16-theme-transform-color-key (cadr spec) colors)))
    137 
    138         ;; Append the transformed element
    139         (cond
    140          ((and (memq key '(:box :underline)) (listp value))
    141           (setq output (append output (list key (base16-theme-transform-spec value colors)))))
    142          (t
    143           (setq output (append output (list key value))))))
    144 
    145       ;; Go to the next element in the list
    146       (setq spec (cddr spec)))
    147 
    148     ;; Return the transformed spec
    149     output))
    150 
    151 (defun base16-theme-transform-face (spec colors)
    152   "Transform a face `SPEC' into an Emacs theme face definition using `COLORS'."
    153   (let* ((face             (car spec))
    154          (definition       (cdr spec))
    155          (shell-colors-256 (pcase base16-theme-256-color-source
    156                              ('terminal      base16-theme-shell-colors)
    157                              ("terminal"     base16-theme-shell-colors)
    158                              ('base16-shell  base16-theme-shell-colors-256)
    159                              ("base16-shell" base16-theme-shell-colors-256)
    160                              ('colors        colors)
    161                              ("colors"       colors)
    162                              (_              base16-theme-shell-colors))))
    163 
    164     ;; This is a list of fallbacks to make us select the sanest option possible.
    165     ;; If there's a graphical terminal, we use the actual colors. If it's not
    166     ;; graphical, the terminal supports 256 colors, and the user enables it, we
    167     ;; use the base16-shell colors. Otherwise, we fall back to the basic
    168     ;; xresources colors.
    169     (list face `((((type graphic))   ,(base16-theme-transform-spec definition colors))
    170                  (((min-colors 256)) ,(base16-theme-transform-spec definition shell-colors-256))
    171                  (t                  ,(base16-theme-transform-spec definition base16-theme-shell-colors))))))
    172 
    173 (defun base16-theme-set-faces (theme-name colors faces)
    174   "Define `THEME-NAME' using `COLORS' to map the `FACES' to actual colors."
    175   (apply 'custom-theme-set-faces theme-name
    176          (mapcar #'(lambda (face)
    177                      (base16-theme-transform-face face colors))
    178                  faces)))
    179 
    180 (defun base16-theme-define (theme-name theme-colors)
    181   "Define colorscheme faces given a `THEME-NAME' and a plist of `THEME-COLORS'."
    182   (base16-theme-set-faces
    183    theme-name
    184    theme-colors
    185 
    186    '(
    187 ;;; Built-in
    188 ;;;; basic colors
    189      (border                                       :background base03)
    190      (cursor                                       :background base08)
    191      (default                                      :foreground base05 :background base00)
    192      (fringe                                       :background base16-settings-fringe-bg)
    193      (gui-element                                  :background base01)
    194      (header-line                                  :foreground base0E :background unspecified :inherit mode-line)
    195      (highlight                                    :background base01)
    196      (link                                         :foreground base0D :underline t)
    197      (link-visited                                 :foreground base0E :underline t)
    198      (minibuffer-prompt                            :foreground base0D)
    199      (region                                       :background base02 :distant-foreground base05)
    200      (secondary-selection                          :background base03 :distant-foreground base05)
    201      (trailing-whitespace                          :foreground base0A :background base0C)
    202      (vertical-border                              :foreground base02)
    203      (widget-button                                :underline t)
    204      (widget-field                                 :background base03 :box (:line-width 1 :color base06))
    205      (completions-common-part                      :foreground base0C)
    206 
    207      (error                                        :foreground base08 :weight bold)
    208      (warning                                      :foreground base09 :weight bold)
    209      (success                                      :foreground base0B :weight bold)
    210      (shadow                                       :foreground base03)
    211 
    212 ;;;; compilation
    213      (compilation-column-number                    :foreground base0A)
    214      (compilation-line-number                      :foreground base0A)
    215      (compilation-message-face                     :foreground base0D)
    216      (compilation-mode-line-exit                   :foreground base0B)
    217      (compilation-mode-line-fail                   :foreground base08)
    218      (compilation-mode-line-run                    :foreground base0D)
    219 
    220 ;;;; custom
    221      (custom-variable-tag                          :foreground base0D)
    222      (custom-group-tag                             :foreground base0D)
    223      (custom-state                                 :foreground base0B)
    224 
    225 ;;;; font-lock
    226      (font-lock-builtin-face                       :foreground base0C)
    227      (font-lock-comment-delimiter-face             :foreground base03)
    228      (font-lock-comment-face                       :foreground base03)
    229      (font-lock-constant-face                      :foreground base09)
    230      (font-lock-doc-face                           :foreground base04)
    231      (font-lock-doc-string-face                    :foreground base03)
    232      (font-lock-function-name-face                 :foreground base0D)
    233      (font-lock-keyword-face                       :foreground base0E)
    234      (font-lock-negation-char-face                 :foreground base0B)
    235      (font-lock-preprocessor-face                  :foreground base0D)
    236      (font-lock-regexp-grouping-backslash          :foreground base0A)
    237      (font-lock-regexp-grouping-construct          :foreground base0E)
    238      (font-lock-string-face                        :foreground base0B)
    239      (font-lock-type-face                          :foreground base0A)
    240      (font-lock-variable-name-face                 :foreground base08)
    241      (font-lock-warning-face                       :foreground base08)
    242 
    243 ;;;; isearch
    244      (match                                        :foreground base0D :background base01 :inverse-video t)
    245      (isearch                                      :foreground base0A :background base01 :inverse-video t)
    246      (lazy-highlight                               :foreground base0C :background base01 :inverse-video t)
    247      (isearch-lazy-highlight-face                  :inherit lazy-highlight) ;; was replaced with 'lazy-highlight in emacs 22
    248      (isearch-fail                                 :background base01 :inverse-video t :inherit font-lock-warning-face)
    249 
    250 ;;;; line-numbers
    251      (line-number                                  :foreground base03 :background base16-settings-fringe-bg)
    252      (line-number-current-line                     :inherit fringe)
    253 
    254 ;;;; mode-line
    255      (mode-line                                    :foreground base16-settings-mode-line-fg :background base02 :box base16-settings-mode-line-box)
    256      (mode-line-buffer-id                          :foreground base0B :background unspecified)
    257      (mode-line-emphasis                           :foreground base06 :slant italic)
    258      (mode-line-highlight                          :foreground base0E :box nil :weight bold)
    259      (mode-line-inactive                           :foreground base03 :background base01 :box nil)
    260 
    261 ;;;; tab-bar
    262     (tab-bar                                       :background base16-settings-fringe-bg)
    263     (tab-bar-tab                                   :foreground base09 :background base01)
    264     (tab-bar-tab-inactive                          :foreground base06 :background base01)
    265     (tab-bar-tab-group-current                     :foreground base05 :background base00)
    266     (tab-bar-tab-group-inactive                    :background base16-settings-fringe-bg)
    267 
    268 ;;;; tab-line
    269      (tab-line                                     :background base16-settings-fringe-bg)
    270      (tab-line-tab                                 :background base16-settings-fringe-bg)
    271      (tab-line-tab-inactive                        :background base16-settings-fringe-bg)
    272      (tab-line-tab-current                         :foreground base05 :background base00)
    273      (tab-line-highlight                           :distant-foreground base05 :background base02)
    274 
    275 ;;; Third-party
    276 
    277 ;;;; anzu-mode
    278      (anzu-mode-line                               :foreground base0E)
    279 
    280 ;;;; auctex
    281      (font-latex-bold-face                         :foreground base0B)
    282      (font-latex-doctex-documentation-face         :background base03)
    283      (font-latex-italic-face                       :foreground base0B)
    284      (font-latex-math-face                         :foreground base09)
    285      (font-latex-sectioning-0-face                 :foreground base0A)
    286      (font-latex-sectioning-1-face                 :foreground base0A)
    287      (font-latex-sectioning-2-face                 :foreground base0A)
    288      (font-latex-sectioning-3-face                 :foreground base0A)
    289      (font-latex-sectioning-4-face                 :foreground base0A)
    290      (font-latex-sectioning-5-face                 :foreground base0A)
    291      (font-latex-sedate-face                       :foreground base0C)
    292      (font-latex-string-face                       :foreground base0A)
    293      (font-latex-verbatim-face                     :foreground base09)
    294      (font-latex-warning-face                      :foreground base08)
    295 
    296      (TeX-error-description-error                  :inherit error)
    297      (TeX-error-description-tex-said               :inherit font-lock-function-name-face)
    298      (TeX-error-description-warning                :inherit warning)
    299 
    300 ;;;; centaur-tabs
    301      (centaur-tabs-default                         :background base01 :foreground base01)
    302      (centaur-tabs-selected                        :background base00 :foreground base06)
    303      (centaur-tabs-unselected                      :background base01 :foreground base05)
    304      (centaur-tabs-selected-modified               :background base00 :foreground base0D)
    305      (centaur-tabs-unselected-modified             :background base01 :foreground base0D)
    306      (centaur-tabs-active-bar-face                 :background base0D)
    307      (centaur-tabs-modified-marker-selected        :inherit 'centaur-tabs-selected :foreground base0D)
    308      (centaur-tabs-modified-marker-unselected      :inherit 'centaur-tabs-unselected :foreground base0D)
    309 
    310 ;;;; circe-mode
    311      (circe-fool-face                              :foreground base02)
    312      (circe-my-message-face                        :foreground base0B)
    313      (circe-highlight-nick-face                    :foreground base0A)
    314      (circe-originator-face                        :foreground base0E)
    315      (circe-prompt-face                            :foreground base0D)
    316      (circe-server-face                            :foreground base03)
    317 
    318 ;;;; avy
    319      (avy-lead-face-0                              :foreground base00 :background base0C)
    320      (avy-lead-face-1                              :foreground base00 :background base05)
    321      (avy-lead-face-2                              :foreground base00 :background base0E)
    322      (avy-lead-face                                :foreground base00 :background base09)
    323      (avy-background-face                          :foreground base03)
    324      (avy-goto-char-timer-face                     :inherit highlight)
    325 
    326 ;;;; clojure-mode
    327      (clojure-keyword-face                         :foreground base0E)
    328 
    329 ;;;; company-mode
    330      (company-tooltip                              :inherit tooltip)
    331      (company-scrollbar-bg                         :background base07)
    332      (company-scrollbar-fg                         :background base04)
    333      (company-tooltip-annotation                   :foreground base08)
    334      (company-tooltip-common                       :inherit font-lock-constant-face)
    335      (company-tooltip-selection                    :background base02 :inherit font-lock-function-name-face)
    336      (company-tooltip-search                       :inherit match)
    337      (company-tooltip-search-selection             :inherit match)
    338      (company-preview-common                       :inherit secondary-selection)
    339      (company-preview                              :foreground base04)
    340      (company-preview-search                       :inherit match)
    341      (company-echo-common                          :inherit secondary-selection)
    342 
    343 ;;;; cperl-mode
    344      (cperl-array-face                             :weight bold :inherit font-lock-variable-name-face)
    345      (cperl-hash-face                              :weight bold :slant italic :inherit font-lock-variable-name-face)
    346      (cperl-nonoverridable-face                    :inherit font-lock-builtin-face)
    347 
    348 ;;;; cscope-minor-mode
    349      (cscope-file-face                             :foreground base0B)
    350      (cscope-function-face                         :foreground base0D)
    351      (cscope-line-number-face                      :foreground base0A)
    352      (cscope-mouse-face                            :foreground base04 :background base01)
    353      (cscope-separator-face                        :foreground base08 :overline t :underline t :weight bold)
    354 
    355 ;;;; csv-mode
    356      (csv-separator-face                           :foreground base09)
    357 
    358 ;;;; diff-hl-mode
    359      (diff-hl-change                               :foreground base0E)
    360      (diff-hl-delete                               :foreground base08)
    361      (diff-hl-insert                               :foreground base0B)
    362 
    363 ;;;; diff-mode
    364      (diff-added                                   :foreground base0B)
    365      (diff-changed                                 :foreground base0E)
    366      (diff-removed                                 :foreground base08)
    367      (diff-header                                  :background base01)
    368      (diff-file-header                             :background base02)
    369      (diff-hunk-header                             :foreground base0E :background base01)
    370 
    371 ;;;; dired
    372      (dired-filetype-plain                         :foreground base05 :background base00)
    373 
    374 ;;;; dired+
    375      (diredp-compressed-file-suffix                :foreground base0D)
    376      (diredp-dir-heading                           :foreground unspecified :background unspecified :inherit heading)
    377      (diredp-dir-priv                              :foreground base0C :background unspecified)
    378      (diredp-exec-priv                             :foreground base0D :background unspecified)
    379      (diredp-executable-tag                        :foreground base08 :background unspecified)
    380      (diredp-file-name                             :foreground base0A)
    381      (diredp-file-suffix                           :foreground base0B)
    382      (diredp-flag-mark-line                        :background unspecified :inherit highlight)
    383      (diredp-ignored-file-name                     :foreground base04)
    384      (diredp-link-priv                             :foreground base0E :background unspecified)
    385      (diredp-mode-line-flagged                     :foreground base08)
    386      (diredp-mode-line-marked                      :foreground base0B)
    387      (diredp-no-priv                               :background unspecified)
    388      (diredp-number                                :foreground base0A)
    389      (diredp-other-priv                            :foreground base0E :background unspecified)
    390      (diredp-rare-priv                             :foreground base08 :background unspecified)
    391      (diredp-read-priv                             :foreground base0B :background unspecified)
    392      (diredp-symlink                               :foreground base0E)
    393      (diredp-write-priv                            :foreground base0A :background unspecified)
    394 
    395 ;;;; diredfl
    396      (diredfl-autofile-name                        :foreground base0E)
    397      (diredfl-compressed-file-name                 :foreground base0A)
    398      (diredfl-compressed-file-suffix               :foreground base0D)
    399      (diredfl-date-time                            :foreground base0C :weight light)
    400      (diredfl-deletion                             :foreground unspecified :background base08)
    401      (diredfl-deletion-file-name                   :foreground base00 :background base08 :weight bold)
    402      (diredfl-dir-heading                          :foreground unspecified :background unspecified :inherit heading :weight bold)
    403      (diredfl-dir-name                             :foreground base0D)
    404      (diredfl-dir-priv                             :foreground base0D :background unspecified)
    405      (diredfl-exec-priv                            :foreground base08 :background unspecified)
    406      (diredfl-executable-tag                       :foreground base08 :background unspecified)
    407      (diredfl-file-name                            :foreground base0A)
    408      (diredfl-file-suffix                          :foreground base0B)
    409      (diredfl-flag-mark                            :foreground base09 :weight bold)
    410      (diredfl-flag-mark-line                       :background unspecified :inherit highlight)
    411      (diredfl-ignored-file-name                    :foreground base04)
    412      (diredfl-link-priv                            :foreground base0E :background unspecified)
    413      (diredfl-no-priv                              :background unspecified)
    414      (diredfl-number                               :foreground base0A)
    415      (diredfl-other-priv                           :foreground base0E :background unspecified)
    416      (diredfl-rare-priv                            :foreground base0F :background unspecified)
    417      (diredfl-read-priv                            :foreground base0B :background unspecified)
    418      (diredfl-symlink                              :foreground base0E)
    419      (diredfl-tagged-autofile-name                 :foreground base05)
    420      (diredfl-write-priv                           :foreground base0A :background unspecified)
    421 
    422 ;;;; doom-modeline
    423      (doom-modeline-eldoc-bar                      :background base0B)
    424      (doom-modeline-inactive-bar                   :background unspecified) ; transparent
    425      (doom-modeline-bar                            :background base0D)
    426 
    427 ;;;; ediff-mode
    428      (ediff-even-diff-A                            :inverse-video t)
    429      (ediff-even-diff-B                            :inverse-video t)
    430      (ediff-even-diff-C                            :inverse-video t)
    431      (ediff-odd-diff-A                             :foreground base04 :inverse-video t)
    432      (ediff-odd-diff-B                             :foreground base04 :inverse-video t)
    433      (ediff-odd-diff-C                             :foreground base04 :inverse-video t)
    434 
    435 ;;;; eldoc-mode
    436      (eldoc-highlight-function-argument            :foreground base0B :weight bold)
    437 
    438 ;;;; erc
    439      (erc-direct-msg-face                          :foreground base09)
    440      (erc-error-face                               :foreground base08)
    441      (erc-header-face                              :foreground base06 :background base04)
    442      (erc-input-face                               :foreground base0B)
    443      (erc-keyword-face                             :foreground base0A)
    444      (erc-current-nick-face                        :foreground base0B)
    445      (erc-my-nick-face                             :foreground base0B)
    446      (erc-nick-default-face                        :foreground base0E :weight normal)
    447      (erc-nick-msg-face                            :foreground base0A :weight normal)
    448      (erc-notice-face                              :foreground base04)
    449      (erc-pal-face                                 :foreground base09)
    450      (erc-prompt-face                              :foreground base0D)
    451      (erc-timestamp-face                           :foreground base0C)
    452 
    453 ;;;; eshell
    454      (eshell-ls-archive                            :foreground base08)
    455      (eshell-ls-backup                             :foreground base0F)
    456      (eshell-ls-clutter                            :foreground base09)
    457      (eshell-ls-directory                          :foreground base0D)
    458      (eshell-ls-executable                         :foreground base0B)
    459      (eshell-ls-missing                            :foreground base08)
    460      (eshell-ls-product                            :foreground base0F)
    461      (eshell-ls-readonly                           :foreground base06)
    462      (eshell-ls-special                            :foreground base0E)
    463      (eshell-ls-symlink                            :foreground base0C)
    464      (eshell-ls-unreadable                         :foreground base04)
    465      (eshell-prompt                                :foreground base05)
    466 
    467 ;;;; evil-mode
    468      (evil-search-highlight-persist-highlight-face :background base01 :inverse-video t :inherit font-lock-warning-face)
    469 
    470 ;;;; fic-mode
    471      (fic-author-face                              :foreground base09 :underline t)
    472      (fic-face                                     :foreground base08 :weight bold)
    473 
    474 ;;;; flycheck-mode
    475      (flycheck-error                               :underline (:style wave :color base08))
    476      (flycheck-info                                :underline (:style wave :color base0B))
    477      (flycheck-warning                             :underline (:style wave :color base09))
    478 
    479 ;;;; flymake-mode
    480      (flymake-warnline                             :background base01 :underline base09)
    481      (flymake-errline                              :background base01 :underline base08)
    482      (flymake-warning                              :background base01 :underline base09)
    483      (flymake-error                                :background base01 :underline base08)
    484 
    485 ;;;; flyspell-mode
    486      (flyspell-duplicate                           :underline (:style wave :color base09))
    487      (flyspell-incorrect                           :underline (:style wave :color base08))
    488 
    489 ;;;; git-gutter-mode
    490      (git-gutter:added                             :foreground base0B)
    491      (git-gutter:deleted                           :foreground base08)
    492      (git-gutter:modified                          :foreground base0E)
    493      (git-gutter:separator                         :foreground base0C)
    494      (git-gutter:unchanged                         :foreground base0A :inverse-video t)
    495 
    496 ;;;; git-gutter+-mode
    497      (git-gutter+-added                            :foreground base0B)
    498      (git-gutter+-deleted                          :foreground base08)
    499      (git-gutter+-modified                         :foreground base0E)
    500      (git-gutter+-unchanged                        :foreground base0A :inverse-video t)
    501 
    502 ;;;; git-gutter-fringe
    503      (git-gutter-fr:added                          :foreground base0B)
    504      (git-gutter-fr:deleted                        :foreground base08)
    505      (git-gutter-fr:modified                       :foreground base0E)
    506 
    507 ;;;; gnus
    508      (gnus-cite-1                                  :foreground unspecified :inherit outline-1)
    509      (gnus-cite-2                                  :foreground unspecified :inherit outline-2)
    510      (gnus-cite-3                                  :foreground unspecified :inherit outline-3)
    511      (gnus-cite-4                                  :foreground unspecified :inherit outline-4)
    512      (gnus-cite-5                                  :foreground unspecified :inherit outline-5)
    513      (gnus-cite-6                                  :foreground unspecified :inherit outline-6)
    514      (gnus-cite-7                                  :foreground unspecified :inherit outline-7)
    515      (gnus-cite-8                                  :foreground unspecified :inherit outline-8)
    516      ;; there are several more -cite- faces...
    517      (gnus-header-content                          :inherit message-header-other)
    518      (gnus-header-subject                          :inherit message-header-subject)
    519      (gnus-header-from                             :foreground base09 :weight bold :inherit message-header-other-face)
    520      (gnus-header-name                             :inherit message-header-name)
    521      (gnus-button                                  :foreground unspecified :inherit link)
    522      (gnus-signature                               :inherit font-lock-comment-face)
    523 
    524      (gnus-summary-normal-unread                   :foreground base0D :weight normal)
    525      (gnus-summary-normal-read                     :foreground base06 :weight normal)
    526      (gnus-summary-normal-ancient                  :foreground base0C :weight normal)
    527      (gnus-summary-normal-ticked                   :foreground base09 :weight normal)
    528      (gnus-summary-low-unread                      :foreground base04 :weight normal)
    529      (gnus-summary-low-read                        :foreground base04 :weight normal)
    530      (gnus-summary-low-ancient                     :foreground base04 :weight normal)
    531      (gnus-summary-high-unread                     :foreground base0A :weight normal)
    532      (gnus-summary-high-read                       :foreground base0B :weight normal)
    533      (gnus-summary-high-ancient                    :foreground base0B :weight normal)
    534      (gnus-summary-high-ticked                     :foreground base09 :weight normal)
    535      (gnus-summary-cancelled                       :foreground base08 :background unspecified :weight normal)
    536 
    537      (gnus-group-mail-low                          :foreground base04)
    538      (gnus-group-mail-low-empty                    :foreground base04)
    539      (gnus-group-mail-1                            :foreground unspecified :weight normal :inherit outline-1)
    540      (gnus-group-mail-2                            :foreground unspecified :weight normal :inherit outline-2)
    541      (gnus-group-mail-3                            :foreground unspecified :weight normal :inherit outline-3)
    542      (gnus-group-mail-4                            :foreground unspecified :weight normal :inherit outline-4)
    543      (gnus-group-mail-5                            :foreground unspecified :weight normal :inherit outline-5)
    544      (gnus-group-mail-6                            :foreground unspecified :weight normal :inherit outline-6)
    545      (gnus-group-mail-1-empty                      :foreground base04 :inherit gnus-group-mail-1)
    546      (gnus-group-mail-2-empty                      :foreground base04 :inherit gnus-group-mail-2)
    547      (gnus-group-mail-3-empty                      :foreground base04 :inherit gnus-group-mail-3)
    548      (gnus-group-mail-4-empty                      :foreground base04 :inherit gnus-group-mail-4)
    549      (gnus-group-mail-5-empty                      :foreground base04 :inherit gnus-group-mail-5)
    550      (gnus-group-mail-6-empty                      :foreground base04 :inherit gnus-group-mail-6)
    551      (gnus-group-news-1                            :foreground unspecified :weight normal :inherit outline-5)
    552      (gnus-group-news-2                            :foreground unspecified :weight normal :inherit outline-6)
    553      (gnus-group-news-3                            :foreground unspecified :weight normal :inherit outline-7)
    554      (gnus-group-news-4                            :foreground unspecified :weight normal :inherit outline-8)
    555      (gnus-group-news-5                            :foreground unspecified :weight normal :inherit outline-1)
    556      (gnus-group-news-6                            :foreground unspecified :weight normal :inherit outline-2)
    557      (gnus-group-news-1-empty                      :foreground base04 :inherit gnus-group-news-1)
    558      (gnus-group-news-2-empty                      :foreground base04 :inherit gnus-group-news-2)
    559      (gnus-group-news-3-empty                      :foreground base04 :inherit gnus-group-news-3)
    560      (gnus-group-news-4-empty                      :foreground base04 :inherit gnus-group-news-4)
    561      (gnus-group-news-5-empty                      :foreground base04 :inherit gnus-group-news-5)
    562      (gnus-group-news-6-empty                      :foreground base04 :inherit gnus-group-news-6)
    563 
    564 ;;;; go-guru
    565      (go-guru-hl-identifier-face                   :background base02)
    566 
    567 ;;;; grep
    568      (grep-context-face                            :foreground base04)
    569      (grep-error-face                              :foreground base08 :weight bold :underline t)
    570      (grep-hit-face                                :foreground base0D)
    571      (grep-match-face                              :foreground unspecified :background unspecified :inherit match)
    572 
    573 ;;;; helm
    574      (helm-M-x-key                                 :foreground base0C)
    575      (helm-action                                  :foreground base05)
    576      (helm-buffer-directory                        :foreground base04 :background unspecified :weight bold)
    577      (helm-buffer-file                             :foreground base0C)
    578      (helm-buffer-not-saved                        :foreground base08)
    579      (helm-buffer-process                          :foreground base03)
    580      (helm-buffer-saved-out                        :foreground base0F)
    581      (helm-buffer-size                             :foreground base09)
    582      (helm-candidate-number                        :foreground base00 :background base09)
    583      (helm-ff-directory                            :inherit dired-directory)
    584      (helm-ff-dotted-directory                     :inherit dired-ignored)
    585      (helm-ff-executable                           :foreground base0B)
    586      (helm-ff-file                                 :inherit default)
    587      (helm-ff-invalid-symlink                      :inherit dired-warning)
    588      (helm-ff-prefix                               :foreground unspecified :background unspecified)
    589      (helm-ff-symlink                              :inherit dired-symlink)
    590      (helm-ff-suid                                 :foreground base08)
    591      (helm-ff-dotted-symlink-directory             :foreground base09 :background base03)
    592      (helm-ff-denied                               :foreground base08 :background base03)
    593 ;     (helm-ff-truename) ;; already inherited
    594 ;     (helm-ff-dirs) ;; already inherited
    595      (helm-ff-socket                               :foreground base0E)
    596      (helm-ff-pipe                                 :foreground base0A :background base03)
    597      (helm-ff-file-extension                       :foreground base03)
    598      (helm-ff-backup-file                          :inherit dired-ignored)
    599 
    600      (helm-grep-cmd-line                           :foreground base0B)
    601      (helm-grep-file                               :foreground base0C)
    602      (helm-grep-finish                             :foreground base00 :background base09)
    603      (helm-grep-lineno                             :foreground base03)
    604      (helm-grep-match                              :foreground base0A)
    605      (helm-grep-running                            :foreground base09)
    606      (helm-header                                  :foreground base0A :background base00 :underline nil)
    607      (helm-match                                   :foreground base0A)
    608      (helm-moccur-buffer                           :foreground base0C)
    609      (helm-selection                               :foreground unspecified :background base02 :underline nil)
    610      (helm-selection-line                          :foreground unspecified :background base02)
    611      (helm-separator                               :foreground base02)
    612      (helm-source-header                           :foreground base05 :background base01 :weight bold)
    613      (helm-visible-mark                            :foreground base00 :background base0B)
    614 
    615 ;;;; highlight-indentation minor mode
    616      (highlight-indentation-face                   :background base01)
    617 
    618 ;;;; highlight-thing mode
    619      (highlight-thing                              :inherit highlight)
    620 
    621 ;;;; hl-line-mode
    622      (hl-line                                      :background base01)
    623      (col-highlight                                :background base01)
    624 
    625 ;;;; hl-sexp-mode
    626      (hl-sexp-face                                 :background base03)
    627 
    628 ;;;; hydra
    629      (hydra-face-red                               :foreground base09)
    630      (hydra-face-blue                              :foreground base0D)
    631 
    632 ;;;; ido-mode
    633      (ido-subdir                                   :foreground base04)
    634      (ido-first-match                              :foreground base09 :weight bold)
    635      (ido-only-match                               :foreground base08 :weight bold)
    636      (ido-indicator                                :foreground base08 :background base01)
    637      (ido-virtual                                  :foreground base04)
    638 
    639 ;;;; idris-mode
    640      (idris-semantic-bound-face                    :inherit font-lock-variable-name-face)
    641      (idris-semantic-data-face                     :inherit font-lock-string-face)
    642      (idris-semantic-function-face                 :inherit font-lock-function-name-face)
    643      (idris-semantic-namespace-face                nil)
    644      (idris-semantic-postulate-face                :inherit font-lock-builtin-face)
    645      (idris-semantic-type-face                     :inherit font-lock-type-face)
    646      (idris-active-term-face                       :inherit highlight)
    647      (idris-colon-face                             :inherit font-lock-keyword-face)
    648      (idris-equals-face                            :inherit font-lock-keyword-face)
    649      (idris-operator-face                          :inherit font-lock-keyword-face)
    650 
    651 ;;;; imenu-list
    652      (imenu-list-entry-face-0                      :foreground base0A)
    653      (imenu-list-entry-face-1                      :foreground base0B)
    654      (imenu-list-entry-face-2                      :foreground base0D)
    655      (imenu-list-entry-face-3                      :foreground base0F)
    656 
    657 ;;;; ivy-mode
    658      (ivy-current-match                            :foreground base09 :background base01)
    659      (ivy-minibuffer-match-face-1                  :foreground base0E)
    660      (ivy-minibuffer-match-face-2                  :foreground base0D)
    661      (ivy-minibuffer-match-face-3                  :foreground base0C)
    662      (ivy-minibuffer-match-face-4                  :foreground base0B)
    663      (ivy-confirm-face                             :foreground base0B)
    664      (ivy-match-required-face                      :foreground base08)
    665      (ivy-virtual                                  :foreground base04)
    666      (ivy-action                                   :foreground base0D)
    667 
    668 ;;;; jabber
    669      (jabber-chat-prompt-local                     :foreground base0A)
    670      (jabber-chat-prompt-foreign                   :foreground base09)
    671      (jabber-chat-prompt-system                    :foreground base0A :weight bold)
    672      (jabber-chat-text-local                       :foreground base0A)
    673      (jabber-chat-text-foreign                     :foreground base09)
    674      (jabber-chat-text-error                       :foreground base08)
    675 
    676      (jabber-roster-user-online                    :foreground base0B)
    677      (jabber-roster-user-xa                        :foreground base04)
    678      (jabber-roster-user-dnd                       :foreground base0A)
    679      (jabber-roster-user-away                      :foreground base09)
    680      (jabber-roster-user-chatty                    :foreground base0E)
    681      (jabber-roster-user-error                     :foreground base08)
    682      (jabber-roster-user-offline                   :foreground base04)
    683 
    684      (jabber-rare-time-face                        :foreground base04)
    685      (jabber-activity-face                         :foreground base0E)
    686      (jabber-activity-personal-face                :foreground base0C)
    687 
    688 ;;;; js2-mode
    689      (js2-warning-face                             :underline base09)
    690      (js2-error-face                               :foreground unspecified :underline base08)
    691      (js2-external-variable-face                   :foreground base0E)
    692      (js2-function-param-face                      :foreground base0D)
    693      (js2-instance-member-face                     :foreground base0D)
    694      (js2-private-function-call-face               :foreground base08)
    695 
    696 ;;;; js3-mode
    697      (js3-warning-face                             :underline base09)
    698      (js3-error-face                               :foreground unspecified :underline base08)
    699      (js3-external-variable-face                   :foreground base0E)
    700      (js3-function-param-face                      :foreground base0D)
    701      (js3-jsdoc-tag-face                           :foreground base09)
    702      (js3-jsdoc-type-face                          :foreground base0C)
    703      (js3-jsdoc-value-face                         :foreground base0A)
    704      (js3-jsdoc-html-tag-name-face                 :foreground base0D)
    705      (js3-jsdoc-html-tag-delimiter-face            :foreground base0B)
    706      (js3-instance-member-face                     :foreground base0D)
    707      (js3-private-function-call-face               :foreground base08)
    708 
    709 ;;;; linum-mode
    710      (linum                                        :foreground base03 :background base16-settings-fringe-bg)
    711 
    712 ;;;; lsp-ui-doc
    713      (lsp-ui-doc-header                            :inherit org-document-title)
    714      (lsp-ui-doc-background                        :background base01)
    715 
    716 ;;;; lui-mode
    717      (lui-button-face                              :foreground base0D)
    718      (lui-highlight-face                           :background base01)
    719      (lui-time-stamp-face                          :foreground base0C)
    720 
    721 ;;;; magit
    722      (magit-blame-culprit                          :background base01)
    723      (magit-blame-heading                          :background base01 :foreground base05)
    724      (magit-branch                                 :foreground base04 :weight bold)
    725      (magit-branch-current                         :foreground base0C :weight bold :box t)
    726      (magit-branch-local                           :foreground base0C :weight bold)
    727      (magit-branch-remote                          :foreground base0B :weight bold)
    728      (magit-cherry-equivalent                      :foreground base0E)
    729      (magit-cherry-unmatched                       :foreground base0C)
    730      (magit-diff-context-highlight                 :background base01 :foreground base05)
    731      (magit-diff-file-header                       :background base01 :foreground base05)
    732      (magit-hash                                   :foreground base0D)
    733      (magit-header-line                            :background base02 :foreground base05 :weight bold)
    734      (magit-hunk-heading                           :background base03)
    735      (magit-hunk-heading-highlight                 :background base03)
    736      (magit-diff-hunk-heading                      :background base01)
    737      (magit-diff-hunk-heading-highlight            :background base01)
    738      (magit-item-highlight                         :background base01)
    739      (magit-log-author                             :foreground base0D)
    740      (magit-process-ng                             :foreground base08 :inherit magit-section-heading)
    741      (magit-process-ok                             :foreground base0B :inherit magit-section-heading)
    742      (magit-reflog-amend                           :foreground base0E)
    743      (magit-reflog-checkout                        :foreground base0D)
    744      (magit-reflog-cherry-pick                     :foreground base0B)
    745      (magit-reflog-commit                          :foreground base0B)
    746      (magit-reflog-merge                           :foreground base0B)
    747      (magit-reflog-other                           :foreground base0C)
    748      (magit-reflog-rebase                          :foreground base0E)
    749      (magit-reflog-remote                          :foreground base0C)
    750      (magit-reflog-reset                           :foreground base08)
    751      (magit-section-highlight                      :background base01)
    752      (magit-signature-bad                          :foreground base08 :weight bold)
    753      (magit-signature-error                        :foreground base08)
    754      (magit-signature-expired                      :foreground base09)
    755      (magit-signature-good                         :foreground base0B)
    756      (magit-signature-revoked                      :foreground base0E)
    757      (magit-signature-untrusted                    :foreground base0C)
    758      (magit-tag                                    :foreground base05)
    759 ;;;; mark-multiple
    760      (mm/master-face                               :foreground unspecified :background unspecified :inherit region)
    761      (mm/mirror-face                               :foreground unspecified :background unspecified :inherit region)
    762 
    763 ;;;; markdown-mode
    764      (markdown-url-face                            :inherit link)
    765      (markdown-link-face                           :foreground base0D :underline t)
    766 
    767 ;;;; message-mode
    768      (message-header-other                         :foreground unspecified :background unspecified :weight normal)
    769      (message-header-subject                       :foreground base0A :weight bold :inherit message-header-other)
    770      (message-header-to                            :foreground base09 :weight bold :inherit message-header-other)
    771      (message-header-cc                            :foreground unspecified :inherit message-header-to)
    772      (message-header-name                          :foreground base0D :background unspecified)
    773      (message-header-newsgroups                    :foreground base0C :background unspecified :slant normal)
    774      (message-separator                            :foreground base0E)
    775 
    776 ;;;; mic-paren
    777      (paren-face-match                             :foreground unspecified :background unspecified :inherit show-paren-match)
    778      (paren-face-mismatch                          :foreground unspecified :background unspecified :inherit show-paren-mismatch)
    779      (paren-face-no-match                          :foreground unspecified :background unspecified :inherit show-paren-mismatch)
    780 
    781 ;;;; mmm-mode
    782      (mmm-code-submode-face                        :background base03)
    783      (mmm-comment-submode-face                     :inherit font-lock-comment-face)
    784      (mmm-output-submode-face                      :background base03)
    785 
    786 ;;;; notmuch
    787 	 (notmuch-message-summary-face                 :foreground base04 :background unspecified)
    788 	 (notmuch-search-count                         :foreground base04)
    789 	 (notmuch-search-date                          :foreground base04)
    790 	 (notmuch-search-flagged-face                  :foreground base08)
    791 	 (notmuch-search-matching-authors              :foreground base0D)
    792 	 (notmuch-search-non-matching-authors          :foreground base05)
    793 	 (notmuch-search-subject                       :foreground base05)
    794 	 (notmuch-search-unread-face                   :weight bold)
    795 	 (notmuch-tag-added                            :foreground base0B :weight normal)
    796 	 (notmuch-tag-deleted                          :foreground base08 :weight normal)
    797 	 (notmuch-tag-face                             :foreground base0A :weight normal)
    798 	 (notmuch-tag-flagged                          :foreground base0A :weight normal)
    799 	 (notmuch-tag-unread                           :foreground base0A :weight normal)
    800 	 (notmuch-tree-match-author-face               :foreground base0D :weight bold)
    801 	 (notmuch-tree-match-date-face                 :foreground base04 :weight bold)
    802 	 (notmuch-tree-match-face                      :foreground base05)
    803 	 (notmuch-tree-match-subject-face              :foreground base05)
    804 	 (notmuch-tree-match-tag-face                  :foreground base0A)
    805 	 (notmuch-tree-match-tree-face                 :foreground base08)
    806 	 (notmuch-tree-no-match-author-face            :foreground base0D)
    807 	 (notmuch-tree-no-match-date-face              :foreground base04)
    808 	 (notmuch-tree-no-match-face                   :foreground base04)
    809 	 (notmuch-tree-no-match-subject-face           :foreground base04)
    810 	 (notmuch-tree-no-match-tag-face               :foreground base0A)
    811 	 (notmuch-tree-no-match-tree-face              :foreground base0A)
    812 	 (notmuch-wash-cited-text                      :foreground base04)
    813 	 (notmuch-wash-toggle-button                   :foreground base04)
    814 
    815 ;;;; nxml-mode
    816      (nxml-name-face                               :foreground unspecified :inherit font-lock-constant-face)
    817      (nxml-attribute-local-name-face               :foreground unspecified :inherit font-lock-variable-name-face)
    818      (nxml-ref-face                                :foreground unspecified :inherit font-lock-preprocessor-face)
    819      (nxml-delimiter-face                          :foreground unspecified :inherit font-lock-keyword-face)
    820      (nxml-delimited-data-face                     :foreground unspecified :inherit font-lock-string-face)
    821      (rng-error-face                               :underline base08)
    822 
    823 ;;;; orderless
    824      (orderless-match-face-0                       :foreground base0E :weight bold)
    825      (orderless-match-face-1                       :foreground base0A :weight bold)
    826      (orderless-match-face-2                       :foreground base0C :weight bold)
    827      (orderless-match-face-3                       :foreground base0D :weight bold)
    828 
    829 ;;;; org-mode
    830      (org-agenda-structure                         :foreground base0E)
    831      (org-agenda-date                              :foreground base0D :underline nil)
    832      (org-agenda-done                              :foreground base0B)
    833      (org-agenda-dimmed-todo-face                  :foreground base04)
    834      (org-block                                    :foreground base05 :background base01)
    835      (org-block-begin-line                         :foreground base03 :background base01)
    836      (org-code                                     :foreground base0A)
    837      (org-column                                   :background base01)
    838      (org-column-title                             :weight bold :underline t :inherit org-column)
    839      (org-date                                     :foreground base0E :underline t)
    840      (org-document-info                            :foreground base0C)
    841      (org-document-info-keyword                    :foreground base0B)
    842      (org-document-title                           :foreground base09 :weight bold :height 1.44)
    843      (org-done                                     :foreground base0B :background base01)
    844      (org-ellipsis                                 :foreground base04)
    845      (org-footnote                                 :foreground base0C)
    846      (org-formula                                  :foreground base08)
    847      (org-hide                                     :foreground base03)
    848      (org-link                                     :foreground base0D)
    849      (org-scheduled                                :foreground base0B)
    850      (org-scheduled-previously                     :foreground base09)
    851      (org-scheduled-today                          :foreground base0B)
    852      (org-special-keyword                          :foreground base09)
    853      (org-table                                    :foreground base0E)
    854      (org-todo                                     :foreground base08 :background base01)
    855      (org-upcoming-deadline                        :foreground base09)
    856      (org-warning                                  :foreground base08 :weight bold)
    857 
    858 ;;;; paren-face-mode
    859      (paren-face                                   :foreground base04 :background unspecified)
    860 
    861 ;;;; perspective-mode
    862      (persp-selected-face                          :foreground base0C)
    863 
    864 ;;;; popup
    865      (popup-face                                   :foreground base05 :background base02)
    866      (popup-isearch-match                          :foreground base00 :background base0B)
    867      (popup-scroll-bar-background-face             :background base03)
    868      (popup-scroll-bar-foreground-face             :background base05)
    869      (popup-summary-face                           :foreground base04)
    870      (popup-tip-face                               :foreground base00 :background base0A)
    871      (popup-menu-mouse-face                        :foreground base00 :background base0D)
    872      (popup-menu-selection-face                    :foreground base00 :background base0C)
    873 
    874 ;;;; powerline
    875      (powerline-active1                            :foreground base09 :background base00)
    876      (powerline-active2                            :foreground base08 :background base01)
    877      (powerline-inactive1                          :foreground base06 :background base01)
    878      (powerline-inactive2                          :foreground base07 :background base02)
    879 
    880 ;;;; python-mode
    881      (py-builtins-face                             :foreground base09 :weight normal)
    882 
    883 ;;;; rainbow-delimiters
    884      (rainbow-delimiters-depth-1-face              :foreground base0E)
    885      (rainbow-delimiters-depth-2-face              :foreground base0D)
    886      (rainbow-delimiters-depth-3-face              :foreground base0C)
    887      (rainbow-delimiters-depth-4-face              :foreground base0B)
    888      (rainbow-delimiters-depth-5-face              :foreground base0A)
    889      (rainbow-delimiters-depth-6-face              :foreground base09)
    890      (rainbow-delimiters-depth-7-face              :foreground base08)
    891      (rainbow-delimiters-depth-8-face              :foreground base03)
    892      (rainbow-delimiters-depth-9-face              :foreground base05)
    893 
    894 ;;;; regex-tool
    895      (regex-tool-matched-face                      :foreground unspecified :background unspecified :inherit match)
    896 
    897 ;;;; rhtml-mode
    898      (erb-delim-face                               :background base03)
    899      (erb-exec-face                                :background base03 :weight bold)
    900      (erb-exec-delim-face                          :background base03)
    901      (erb-out-face                                 :background base03 :weight bold)
    902      (erb-out-delim-face                           :background base03)
    903      (erb-comment-face                             :background base03 :weight bold :slant italic)
    904      (erb-comment-delim-face                       :background base03)
    905 
    906 ;;;; sh-mode
    907      (sh-heredoc                                   :foreground unspecified :weight normal :inherit font-lock-string-face)
    908      (sh-quoted-exec                               :foreground unspecified :inherit font-lock-preprocessor-face)
    909 
    910 ;;;; show-paren-mode
    911      (show-paren-match                             :foreground base01 :background base0D)
    912      (show-paren-mismatch                          :foreground base01 :background base09)
    913 
    914 ;;;; slime-mode
    915      (slime-highlight-edits-face                   :weight bold)
    916      (slime-repl-input-face                        :weight normal :underline nil)
    917      (slime-repl-prompt-face                       :foreground base0E :underline nil :weight bold)
    918      (slime-repl-result-face                       :foreground base0B)
    919      (slime-repl-output-face                       :foreground base0D :background base01)
    920 
    921 ;;;; smart-mode-line
    922      (sml/charging                                 :inherit sml/global :foreground base0B)
    923      (sml/discharging                              :inherit sml/global :foreground base08)
    924      (sml/filename                                 :inherit sml/global :foreground base0A :weight bold)
    925      (sml/global                                   :foreground base16-settings-mode-line-fg)
    926      (sml/modes                                    :inherit sml/global :foreground base07)
    927      (sml/modified                                 :inherit sml/not-modified :foreground base08 :weight bold)
    928      (sml/outside-modified                         :inherit sml/not-modified :background base08)
    929      (sml/prefix                                   :inherit sml/global :foreground base09)
    930      (sml/read-only                                :inherit sml/not-modified :foreground base0C)
    931 
    932 ;;;; spaceline
    933      (spaceline-evil-emacs                         :foreground base01 :background base0D)
    934      (spaceline-evil-insert                        :foreground base01 :background base0D)
    935      (spaceline-evil-motion                        :foreground base01 :background base0E)
    936      (spaceline-evil-normal                        :foreground base01 :background base0B)
    937      (spaceline-evil-replace                       :foreground base01 :background base08)
    938      (spaceline-evil-visual                        :foreground base01 :background base09)
    939 
    940 ;;;; spacemacs
    941      (spacemacs-emacs-face                        :foreground base01 :background base0D)
    942      (spacemacs-hybrid-face                       :foreground base01 :background base0D)
    943      (spacemacs-insert-face                       :foreground base01 :background base0C)
    944      (spacemacs-motion-face                       :foreground base01 :background base0E)
    945      (spacemacs-lisp-face                         :foreground base01 :background base0E)
    946      (spacemacs-normal-face                       :foreground base01 :background base0B)
    947      (spacemacs-replace-face                      :foreground base01 :background base08)
    948      (spacemacs-visual-face                       :foreground base01 :background base09)
    949 
    950 ;;;; structured-haskell-mode
    951      (shm-current-face                             :inherit region)
    952      (shm-quarantine-face                          :underline (:style wave :color base08))
    953 
    954 ;; telephone-line
    955      (telephone-line-accent-active                 :foreground base00 :background base05)
    956      (telephone-line-accent-inactive               :foreground base01 :background base03)
    957      (telephone-line-evil-normal                   :foreground base01 :background base0B :weight bold)
    958      (telephone-line-evil-insert                   :foreground base01 :background base0D :weight bold)
    959      (telephone-line-evil-visual                   :foreground base06 :background base0E :weight bold)
    960      (telephone-line-evil-replace                  :foreground base01 :background base08 :weight bold)
    961      (telephone-line-evil-operator                 :foreground base0B :background base01 :weight bold)
    962      (telephone-line-evil-motion                   :foreground base00 :background base0C :weight bold)
    963      (telephone-line-evil-emacs                    :foreground base07 :background base0E :weight bold)
    964      (telephone-line-warning                       :foreground base09 :weight bold)
    965      (telephone-line-error                         :foreground base08 :weight bold)
    966 
    967 ;;;; term and ansi-term
    968      (term                                         :foreground base05 :background base00)
    969      (term-color-black                             :foreground base02 :background base00)
    970      (term-color-white                             :foreground base05 :background base07)
    971      (term-color-red                               :foreground base08 :background base08)
    972      (term-color-yellow                            :foreground base0A :background base0A)
    973      (term-color-green                             :foreground base0B :background base0B)
    974      (term-color-cyan                              :foreground base0C :background base0C)
    975      (term-color-blue                              :foreground base0D :background base0D)
    976      (term-color-magenta                           :foreground base0E :background base0E)
    977 
    978 ;;;; ansi-colors
    979      (ansi-color-black                             :foreground base02 :background base00)
    980      (ansi-color-white                             :foreground base05 :background base07)
    981      (ansi-color-red                               :foreground base08 :background base08)
    982      (ansi-color-yellow                            :foreground base0A :background base0A)
    983      (ansi-color-green                             :foreground base0B :background base0B)
    984      (ansi-color-cyan                              :foreground base0C :background base0C)
    985      (ansi-color-blue                              :foreground base0D :background base0D)
    986      (ansi-color-magenta                           :foreground base0E :background base0E)
    987 
    988 ;;;; tooltip
    989      (tooltip                                      :background base01 :inherit default)
    990 
    991 ;;;; tuareg-mode
    992      (tuareg-font-lock-governing-face              :weight bold :inherit font-lock-keyword-face)
    993 
    994 ;;;; undo-tree-mode
    995      (undo-tree-visualizer-default-face            :foreground base06)
    996      (undo-tree-visualizer-current-face            :foreground base0B :weight bold)
    997      (undo-tree-visualizer-active-branch-face      :foreground base08)
    998      (undo-tree-visualizer-register-face           :foreground base0A)
    999 
   1000 ;;;; utop-mode
   1001      (utop-prompt                                  :foreground base0E)
   1002      (utop-error                                   :underline (:style wave :color base08) :inherit error)
   1003 
   1004 ;;;; w3m-mode
   1005      (w3m-anchor                                   :underline nil :inherit link)
   1006      (w3m-anchor-visited                           :underline nil :inherit link-visited)
   1007      (w3m-form                                     :foreground base09 :underline t)
   1008      (w3m-image                                    :foreground base05 :background base03)
   1009      (w3m-image-anchor                             :foreground base05 :background base03 :underline t)
   1010      (w3m-header-line-location-content             :foreground base0D :background base00)
   1011      (w3m-header-line-location-title               :foreground base0D :background base00)
   1012      (w3m-tab-background                           :foreground base05 :background base01)
   1013      (w3m-tab-selected                             :foreground base05 :background base00)
   1014      (w3m-tab-selected-retrieving                  :foreground base05 :background base00)
   1015      (w3m-tab-unselected                           :foreground base03 :background base01)
   1016      (w3m-tab-unselected-unseen                    :foreground base03 :background base01)
   1017      (w3m-tab-unselected-retrieving                :foreground base03 :background base01)
   1018 
   1019 ;;;; which-func-mode
   1020      (which-func                                   :foreground base0D :background unspecified :weight bold)
   1021 
   1022 ;;;; whitespace-mode
   1023      (whitespace-empty                             :foreground base08 :background base0A)
   1024      (whitespace-hspace                            :foreground base04 :background base04)
   1025      (whitespace-indentation                       :foreground base08 :background base0A)
   1026      (whitespace-line                              :foreground base0F :background base01)
   1027      (whitespace-newline                           :foreground base04)
   1028      (whitespace-space                             :foreground base03 :background base01)
   1029      (whitespace-space-after-tab                   :foreground base08 :background base0A)
   1030      (whitespace-space-before-tab                  :foreground base08 :background base09)
   1031      (whitespace-tab                               :foreground base03 :background base01)
   1032      (whitespace-trailing                          :foreground base0A :background base08)))
   1033 
   1034   ;; Anything leftover that doesn't fall neatly into a face goes here.
   1035   (let ((base00 (plist-get theme-colors :base00))
   1036         (base01 (plist-get theme-colors :base01))
   1037         (base02 (plist-get theme-colors :base02))
   1038         (base03 (plist-get theme-colors :base03))
   1039         (base04 (plist-get theme-colors :base04))
   1040         (base05 (plist-get theme-colors :base05))
   1041         (base06 (plist-get theme-colors :base06))
   1042         (base07 (plist-get theme-colors :base07))
   1043         (base08 (plist-get theme-colors :base08))
   1044         (base09 (plist-get theme-colors :base09))
   1045         (base0A (plist-get theme-colors :base0A))
   1046         (base0B (plist-get theme-colors :base0B))
   1047         (base0C (plist-get theme-colors :base0C))
   1048         (base0D (plist-get theme-colors :base0D))
   1049         (base0E (plist-get theme-colors :base0E))
   1050         (base0F (plist-get theme-colors :base0F)))
   1051     (custom-theme-set-variables
   1052      theme-name
   1053      `(ansi-color-names-vector
   1054        ;; black, base08, base0B, base0A, base0D, magenta, cyan, white
   1055        [,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05]))
   1056 
   1057     ;; Emacs 24.3 changed ’ansi-term-color-vector’ from a vector of colors
   1058     ;; to a vector of faces.
   1059     (when (version< emacs-version "24.3")
   1060       (custom-theme-set-variables
   1061        theme-name
   1062        `(ansi-term-color-vector
   1063          ;; black, base08, base0B, base0A, base0D, magenta, cyan, white
   1064          [unspecified ,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])))))
   1065 
   1066 ;;;###autoload
   1067 (and load-file-name
   1068      (boundp 'custom-theme-load-path)
   1069      (add-to-list 'custom-theme-load-path
   1070                   (file-name-as-directory
   1071                    (file-name-directory load-file-name))))
   1072 
   1073 (provide 'base16-theme)
   1074 
   1075 ;;; base16-theme.el ends here