dotfiles

my active dotfiles
git clone git://git.jakekoroman.com/dotfiles
Log | Files | Refs | README

gruber-darker-theme.el (19947B)


      1 ;;; gruber-darker-theme.el --- Gruber Darker color theme for Emacs 24.
      2 
      3 ;; Copyright (C) 2013-2016 Alexey Kutepov a.k.a rexim
      4 ;; Copyright (C) 2009-2010 Jason R. Blevins
      5 
      6 ;; Author: Alexey Kutepov <reximkut@gmail.com>
      7 ;; URL: http://github.com/rexim/gruber-darker-theme
      8 ;; Version: 0.7
      9 
     10 ;; Permission is hereby granted, free of charge, to any person
     11 ;; obtaining a copy of this software and associated documentation
     12 ;; files (the "Software"), to deal in the Software without
     13 ;; restriction, including without limitation the rights to use, copy,
     14 ;; modify, merge, publish, distribute, sublicense, and/or sell copies
     15 ;; of the Software, and to permit persons to whom the Software is
     16 ;; furnished to do so, subject to the following conditions:
     17 
     18 ;; The above copyright notice and this permission notice shall be
     19 ;; included in all copies or substantial portions of the Software.
     20 
     21 ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     22 ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     23 ;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     24 ;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
     25 ;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
     26 ;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     27 ;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     28 ;; SOFTWARE.
     29 
     30 ;;; Commentary:
     31 ;;
     32 ;; Gruber Darker color theme for Emacs by Jason Blevins. A darker
     33 ;; variant of the Gruber Dark theme for BBEdit by John Gruber. Adapted
     34 ;; for deftheme and extended by Alexey Kutepov a.k.a. rexim.
     35 
     36 
     37 (deftheme gruber-darker
     38   "Gruber Darker color theme for Emacs 24")
     39 
     40 ;; Please, install rainbow-mode.
     41 ;; Colors with +x are lighter. Colors with -x are darker.
     42 (let ((gruber-darker-fg        "#e4e4ef")
     43       (gruber-darker-fg+1      "#f4f4ff")
     44       (gruber-darker-fg+2      "#f5f5f5")
     45       (gruber-darker-white     "#ffffff")
     46       (gruber-darker-black     "#000000")
     47       (gruber-darker-bg-1      "#101010")
     48       (gruber-darker-bg        "#181818")
     49       (gruber-darker-bg+1      "#282828")
     50       (gruber-darker-bg+2      "#453d41")
     51       (gruber-darker-bg+3      "#484848")
     52       (gruber-darker-bg+4      "#52494e")
     53       (gruber-darker-red-1     "#c73c3f")
     54       (gruber-darker-red       "#f43841")
     55       (gruber-darker-red+1     "#ff4f58")
     56       (gruber-darker-green     "#73c936")
     57       (gruber-darker-yellow    "#ffdd33")
     58       (gruber-darker-brown     "#cc8c3c")
     59       (gruber-darker-quartz    "#95a99f")
     60       (gruber-darker-niagara-2 "#303540")
     61       (gruber-darker-niagara-1 "#565f73")
     62       (gruber-darker-niagara   "#96a6c8")
     63       (gruber-darker-wisteria  "#9e95c7")
     64       )
     65   (custom-theme-set-variables
     66    'gruber-darker
     67    '(frame-brackground-mode (quote dark)))
     68 
     69   (custom-theme-set-faces
     70    'gruber-darker
     71 
     72    ;; Agda2
     73    `(agda2-highlight-datatype-face ((t (:foreground ,gruber-darker-quartz))))
     74    `(agda2-highlight-primitive-type-face ((t (:foreground ,gruber-darker-quartz))))
     75    `(agda2-highlight-function-face ((t (:foreground ,gruber-darker-niagara))))
     76    `(agda2-highlight-keyword-face ((t ,(list :foreground gruber-darker-yellow
     77                                              :bold t))))
     78    `(agda2-highlight-inductive-constructor-face ((t (:foreground ,gruber-darker-green))))
     79    `(agda2-highlight-number-face ((t (:foreground ,gruber-darker-wisteria))))
     80 
     81    ;; AUCTeX
     82    `(font-latex-bold-face ((t (:foreground ,gruber-darker-quartz :bold t))))
     83    `(font-latex-italic-face ((t (:foreground ,gruber-darker-quartz :italic t))))
     84    `(font-latex-math-face ((t (:foreground ,gruber-darker-green))))
     85    `(font-latex-sectioning-5-face ((t ,(list :foreground gruber-darker-niagara
     86                                              :bold t))))
     87    `(font-latex-slide-title-face ((t (:foreground ,gruber-darker-niagara))))
     88    `(font-latex-string-face ((t (:foreground ,gruber-darker-green))))
     89    `(font-latex-warning-face ((t (:foreground ,gruber-darker-red))))
     90 
     91    ;; Basic Coloring (or Uncategorized)
     92    `(border ((t ,(list :background gruber-darker-bg-1
     93                        :foreground gruber-darker-bg+2))))
     94    `(cursor ((t (:background ,gruber-darker-yellow))))
     95    `(default ((t ,(list :foreground gruber-darker-fg
     96                         :background gruber-darker-bg))))
     97    `(fringe ((t ,(list :background gruber-darker-bg-1
     98                        :foreground gruber-darker-bg+2))))
     99    `(link ((t (:foreground ,gruber-darker-niagara :underline t))))
    100    `(link-visited ((t (:foreground ,gruber-darker-wisteria :underline t))))
    101    `(match ((t (:background ,gruber-darker-bg+4))))
    102    `(shadow ((t (:foreground ,gruber-darker-bg+4))))
    103    `(minibuffer-prompt ((t (:foreground ,gruber-darker-niagara))))
    104    `(region ((t (:background ,gruber-darker-bg+3 :foreground nil))))
    105    `(secondary-selection ((t ,(list :background gruber-darker-bg+3
    106                                     :foreground nil))))
    107    `(trailing-whitespace ((t ,(list :foreground gruber-darker-black
    108                                     :background gruber-darker-red))))
    109    `(tooltip ((t ,(list :background gruber-darker-bg+4
    110                         :foreground gruber-darker-white))))
    111 
    112    ;; Calendar
    113    `(holiday-face ((t (:foreground ,gruber-darker-red))))
    114 
    115    ;; Compilation
    116    `(compilation-info ((t ,(list :foreground gruber-darker-green
    117                                  :inherit 'unspecified))))
    118    `(compilation-warning ((t ,(list :foreground gruber-darker-brown
    119                                     :bold t
    120                                     :inherit 'unspecified))))
    121    `(compilation-error ((t (:foreground ,gruber-darker-red+1))))
    122    `(compilation-mode-line-fail ((t ,(list :foreground gruber-darker-red
    123                                            :weight 'bold
    124                                            :inherit 'unspecified))))
    125    `(compilation-mode-line-exit ((t ,(list :foreground gruber-darker-green
    126                                            :weight 'bold
    127                                            :inherit 'unspecified))))
    128 
    129    ;; Custom
    130    `(custom-state ((t (:foreground ,gruber-darker-green))))
    131 
    132    ;; Diff
    133    `(diff-removed ((t ,(list :foreground gruber-darker-red+1
    134                              :background nil))))
    135    `(diff-added ((t ,(list :foreground gruber-darker-green
    136                            :background nil))))
    137 
    138    ;; Dired
    139    `(dired-directory ((t (:foreground ,gruber-darker-niagara :weight bold))))
    140    `(dired-ignored ((t ,(list :foreground gruber-darker-quartz
    141                               :inherit 'unspecified))))
    142 
    143    ;; Ebrowse
    144    `(ebrowse-root-class ((t (:foreground ,gruber-darker-niagara :weight bold))))
    145    `(ebrowse-progress ((t (:background ,gruber-darker-niagara))))
    146 
    147    ;; Egg
    148    `(egg-branch ((t (:foreground ,gruber-darker-yellow))))
    149    `(egg-branch-mono ((t (:foreground ,gruber-darker-yellow))))
    150    `(egg-diff-add ((t (:foreground ,gruber-darker-green))))
    151    `(egg-diff-del ((t (:foreground ,gruber-darker-red))))
    152    `(egg-diff-file-header ((t (:foreground ,gruber-darker-wisteria))))
    153    `(egg-help-header-1 ((t (:foreground ,gruber-darker-yellow))))
    154    `(egg-help-header-2 ((t (:foreground ,gruber-darker-niagara))))
    155    `(egg-log-HEAD-name ((t (:box (:color ,gruber-darker-fg)))))
    156    `(egg-reflog-mono ((t (:foreground ,gruber-darker-niagara-1))))
    157    `(egg-section-title ((t (:foreground ,gruber-darker-yellow))))
    158    `(egg-text-base ((t (:foreground ,gruber-darker-fg))))
    159    `(egg-term ((t (:foreground ,gruber-darker-yellow))))
    160 
    161    ;; ERC
    162    `(erc-notice-face ((t (:foreground ,gruber-darker-wisteria))))
    163    `(erc-timestamp-face ((t (:foreground ,gruber-darker-green))))
    164    `(erc-input-face ((t (:foreground ,gruber-darker-red+1))))
    165    `(erc-my-nick-face ((t (:foreground ,gruber-darker-red+1))))
    166 
    167    ;; EShell
    168    `(eshell-ls-backup ((t (:foreground ,gruber-darker-quartz))))
    169    `(eshell-ls-directory ((t (:foreground ,gruber-darker-niagara))))
    170    `(eshell-ls-executable ((t (:foreground ,gruber-darker-green))))
    171    `(eshell-ls-symlink ((t (:foreground ,gruber-darker-yellow))))
    172 
    173    ;; Font Lock
    174    `(font-lock-builtin-face ((t (:foreground ,gruber-darker-yellow))))
    175    `(font-lock-comment-face ((t (:foreground ,gruber-darker-brown))))
    176    `(font-lock-comment-delimiter-face ((t (:foreground ,gruber-darker-brown))))
    177    `(font-lock-constant-face ((t (:foreground ,gruber-darker-quartz))))
    178    `(font-lock-doc-face ((t (:foreground ,gruber-darker-green))))
    179    `(font-lock-doc-string-face ((t (:foreground ,gruber-darker-green))))
    180    `(font-lock-function-name-face ((t (:foreground ,gruber-darker-niagara))))
    181    `(font-lock-keyword-face ((t (:foreground ,gruber-darker-yellow :bold t))))
    182    `(font-lock-preprocessor-face ((t (:foreground ,gruber-darker-quartz))))
    183    `(font-lock-reference-face ((t (:foreground ,gruber-darker-quartz))))
    184    `(font-lock-string-face ((t (:foreground ,gruber-darker-green))))
    185    `(font-lock-type-face ((t (:foreground ,gruber-darker-quartz))))
    186    `(font-lock-variable-name-face ((t (:foreground ,gruber-darker-fg+1))))
    187    `(font-lock-warning-face ((t (:foreground ,gruber-darker-red))))
    188 
    189    ;; Flymake
    190    `(flymake-errline
    191      ((((supports :underline (:style wave)))
    192        (:underline (:style wave :color ,gruber-darker-red)
    193                    :foreground unspecified
    194                    :background unspecified
    195                    :inherit unspecified))
    196       (t (:foreground ,gruber-darker-red :weight bold :underline t))))
    197    `(flymake-warnline
    198      ((((supports :underline (:style wave)))
    199        (:underline (:style wave :color ,gruber-darker-yellow)
    200                    :foreground unspecified
    201                    :background unspecified
    202                    :inherit unspecified))
    203       (t (:forground ,gruber-darker-yellow :weight bold :underline t))))
    204    `(flymake-infoline
    205      ((((supports :underline (:style wave)))
    206        (:underline (:style wave :color ,gruber-darker-green)
    207                    :foreground unspecified
    208                    :background unspecified
    209                    :inherit unspecified))
    210       (t (:forground ,gruber-darker-green :weight bold :underline t))))
    211 
    212    ;; Flyspell
    213    `(flyspell-incorrect
    214      ((((supports :underline (:style wave)))
    215        (:underline (:style wave :color ,gruber-darker-red) :inherit unspecified))
    216       (t (:foreground ,gruber-darker-red :weight bold :underline t))))
    217    `(flyspell-duplicate
    218      ((((supports :underline (:style wave)))
    219        (:underline (:style wave :color ,gruber-darker-yellow) :inherit unspecified))
    220       (t (:foreground ,gruber-darker-yellow :weight bold :underline t))))
    221 
    222    ;; Helm
    223    `(helm-candidate-number ((t ,(list :background gruber-darker-bg+2
    224                                       :foreground gruber-darker-yellow
    225                                       :bold t))))
    226    `(helm-ff-directory ((t ,(list :foreground gruber-darker-niagara
    227                                   :background gruber-darker-bg
    228                                   :bold t))))
    229    `(helm-ff-executable ((t (:foreground ,gruber-darker-green))))
    230    `(helm-ff-file ((t (:foreground ,gruber-darker-fg :inherit unspecified))))
    231    `(helm-ff-invalid-symlink ((t ,(list :foreground gruber-darker-bg
    232                                         :background gruber-darker-red))))
    233    `(helm-ff-symlink ((t (:foreground ,gruber-darker-yellow :bold t))))
    234    `(helm-selection-line ((t (:background ,gruber-darker-bg+1))))
    235    `(helm-selection ((t (:background ,gruber-darker-bg+1 :underline nil))))
    236    `(helm-source-header ((t ,(list :foreground gruber-darker-yellow
    237                                    :background gruber-darker-bg
    238                                    :box (list :line-width -1
    239                                               :style 'released-button)))))
    240 
    241    ;; Ido
    242    `(ido-first-match ((t (:foreground ,gruber-darker-yellow :bold nil))))
    243    `(ido-only-match ((t (:foreground ,gruber-darker-brown :weight bold))))
    244    `(ido-subdir ((t (:foreground ,gruber-darker-niagara :weight bold))))
    245 
    246    ;; Info
    247    `(info-xref ((t (:foreground ,gruber-darker-niagara))))
    248    `(info-visited ((t (:foreground ,gruber-darker-wisteria))))
    249 
    250    ;; Jabber
    251    `(jabber-chat-prompt-foreign ((t ,(list :foreground gruber-darker-quartz
    252                                            :bold nil))))
    253    `(jabber-chat-prompt-local ((t (:foreground ,gruber-darker-yellow))))
    254    `(jabber-chat-prompt-system ((t (:foreground ,gruber-darker-green))))
    255    `(jabber-rare-time-face ((t (:foreground ,gruber-darker-green))))
    256    `(jabber-roster-user-online ((t (:foreground ,gruber-darker-green))))
    257    `(jabber-activity-face ((t (:foreground ,gruber-darker-red))))
    258    `(jabber-activity-personal-face ((t (:foreground ,gruber-darker-yellow :bold t))))
    259 
    260    ;; Line Highlighting
    261    `(highlight ((t (:background ,gruber-darker-bg+1 :foreground nil))))
    262    `(highlight-current-line-face ((t ,(list :background gruber-darker-bg+1
    263                                             :foreground nil))))
    264 
    265    ;; line numbers
    266    `(line-number ((t (:inherit default :foreground ,gruber-darker-bg+4))))
    267    `(line-number-current-line ((t (:inherit line-number :foreground ,gruber-darker-yellow))))
    268 
    269    ;; Linum
    270    `(linum ((t `(list :foreground gruber-darker-quartz
    271                       :background gruber-darker-bg))))
    272 
    273    ;; Magit
    274    `(magit-branch ((t (:foreground ,gruber-darker-niagara))))
    275    `(magit-diff-hunk-header ((t (:background ,gruber-darker-bg+2))))
    276    `(magit-diff-file-header ((t (:background ,gruber-darker-bg+4))))
    277    `(magit-log-sha1 ((t (:foreground ,gruber-darker-red+1))))
    278    `(magit-log-author ((t (:foreground ,gruber-darker-brown))))
    279    `(magit-log-head-label-remote ((t ,(list :foreground gruber-darker-green
    280                                             :background gruber-darker-bg+1))))
    281    `(magit-log-head-label-local ((t ,(list :foreground gruber-darker-niagara
    282                                            :background gruber-darker-bg+1))))
    283    `(magit-log-head-label-tags ((t ,(list :foreground gruber-darker-yellow
    284                                           :background gruber-darker-bg+1))))
    285    `(magit-log-head-label-head ((t ,(list :foreground gruber-darker-fg
    286                                           :background gruber-darker-bg+1))))
    287    `(magit-item-highlight ((t (:background ,gruber-darker-bg+1))))
    288    `(magit-tag ((t ,(list :foreground gruber-darker-yellow
    289                           :background gruber-darker-bg))))
    290    `(magit-blame-heading ((t ,(list :background gruber-darker-bg+1
    291                                     :foreground gruber-darker-fg))))
    292 
    293    ;; Message
    294    `(message-header-name ((t (:foreground ,gruber-darker-green))))
    295 
    296    ;; Mode Line
    297    `(mode-line ((t ,(list :background gruber-darker-bg+1
    298                           :foreground gruber-darker-white))))
    299    `(mode-line-buffer-id ((t ,(list :background gruber-darker-bg+1
    300                                     :foreground gruber-darker-white))))
    301    `(mode-line-inactive ((t ,(list :background gruber-darker-bg+1
    302                                    :foreground gruber-darker-quartz))))
    303 
    304    ;; Neo Dir
    305    `(neo-dir-link-face ((t (:foreground ,gruber-darker-niagara))))
    306 
    307    `(vertical-border ((t ,(list :foreground gruber-darker-bg+2))))
    308 
    309    ;; Org Mode
    310    `(org-agenda-structure ((t (:foreground ,gruber-darker-niagara))))
    311    `(org-column ((t (:background ,gruber-darker-bg-1))))
    312    `(org-column-title ((t (:background ,gruber-darker-bg-1 :underline t :weight bold))))
    313    `(org-done ((t (:foreground ,gruber-darker-green))))
    314    `(org-todo ((t (:foreground ,gruber-darker-red-1))))
    315    `(org-block ((t (:background ,gruber-darker-bg+1))))
    316    `(org-level-2 ((t (:foreground ,gruber-darker-fg))))
    317    `(org-level-3 ((t (:foreground ,gruber-darker-fg))))
    318    `(org-document-info ((t (:foreground ,gruber-darker-quartz))))
    319    `(org-document-title ((t (:foreground ,gruber-darker-quartz))))
    320    `(org-upcoming-deadline ((t (:foreground ,gruber-darker-yellow))))
    321 
    322    ;; Search
    323    `(isearch ((t ,(list :foreground gruber-darker-black
    324                         :background gruber-darker-fg+2))))
    325    `(isearch-fail ((t ,(list :foreground gruber-darker-black
    326                              :background gruber-darker-red))))
    327    `(isearch-lazy-highlight-face ((t ,(list
    328                                        :foreground gruber-darker-fg+1
    329                                        :background gruber-darker-niagara-1))))
    330 
    331    ;; Sh
    332    `(sh-quoted-exec ((t (:foreground ,gruber-darker-red+1))))
    333 
    334    ;; Show Paren
    335    `(show-paren-match-face ((t (:background ,gruber-darker-bg+4))))
    336    `(show-paren-mismatch-face ((t (:background ,gruber-darker-red-1))))
    337 
    338    ;; Slime
    339    `(slime-repl-inputed-output-face ((t (:foreground ,gruber-darker-red))))
    340 
    341    ;; Tuareg
    342    `(tuareg-font-lock-governing-face ((t (:foreground ,gruber-darker-yellow))))
    343 
    344    ;; Speedbar
    345    `(speedbar-directory-face ((t ,(list :foreground gruber-darker-niagara
    346                                         :weight 'bold))))
    347    `(speedbar-file-face ((t (:foreground ,gruber-darker-fg))))
    348    `(speedbar-highlight-face ((t (:background ,gruber-darker-bg+1))))
    349    `(speedbar-selected-face ((t (:foreground ,gruber-darker-red))))
    350    `(speedbar-tag-face ((t (:foreground ,gruber-darker-yellow))))
    351 
    352    ;; Which Function
    353    `(which-func ((t (:foreground ,gruber-darker-wisteria))))
    354 
    355    ;; Whitespace
    356    `(whitespace-space ((t ,(list :background gruber-darker-bg
    357                                  :foreground gruber-darker-bg+1))))
    358    `(whitespace-tab ((t ,(list :background gruber-darker-bg
    359                                :foreground gruber-darker-bg+1))))
    360    `(whitespace-hspace ((t ,(list :background gruber-darker-bg
    361                                   :foreground gruber-darker-bg+2))))
    362    `(whitespace-line ((t ,(list :background gruber-darker-bg+2
    363                                 :foreground gruber-darker-red+1))))
    364    `(whitespace-newline ((t ,(list :background gruber-darker-bg
    365                                    :foreground gruber-darker-bg+2))))
    366    `(whitespace-trailing ((t ,(list :background gruber-darker-red
    367                                     :foreground gruber-darker-red))))
    368    `(whitespace-empty ((t ,(list :background gruber-darker-yellow
    369                                  :foreground gruber-darker-yellow))))
    370    `(whitespace-indentation ((t ,(list :background gruber-darker-yellow
    371                                        :foreground gruber-darker-red))))
    372    `(whitespace-space-after-tab ((t ,(list :background gruber-darker-yellow
    373                                            :foreground gruber-darker-yellow))))
    374    `(whitespace-space-before-tab ((t ,(list :background gruber-darker-brown
    375                                             :foreground gruber-darker-brown))))
    376 
    377    ;;;;; company-mode
    378    `(company-tooltip ((t (:foreground ,gruber-darker-fg :background ,gruber-darker-bg+1))))
    379    `(company-tooltip-annotation ((t (:foreground ,gruber-darker-brown :background ,gruber-darker-bg+1))))
    380    `(company-tooltip-annotation-selection ((t (:foreground ,gruber-darker-brown :background ,gruber-darker-bg-1))))
    381    `(company-tooltip-selection ((t (:foreground ,gruber-darker-fg :background ,gruber-darker-bg-1))))
    382    `(company-tooltip-mouse ((t (:background ,gruber-darker-bg-1))))
    383    `(company-tooltip-common ((t (:foreground ,gruber-darker-green))))
    384    `(company-tooltip-common-selection ((t (:foreground ,gruber-darker-green))))
    385    `(company-scrollbar-fg ((t (:background ,gruber-darker-bg-1))))
    386    `(company-scrollbar-bg ((t (:background ,gruber-darker-bg+2))))
    387    `(company-preview ((t (:background ,gruber-darker-green))))
    388    `(company-preview-common ((t (:foreground ,gruber-darker-green :background ,gruber-darker-bg-1))))
    389 
    390    ;;;;; Proof General
    391    `(proof-locked-face ((t (:background ,gruber-darker-niagara-2))))
    392    ))
    393 
    394 ;;;###autoload
    395 (when load-file-name
    396   (add-to-list 'custom-theme-load-path
    397                (file-name-as-directory (file-name-directory load-file-name))))
    398 
    399 (provide-theme 'gruber-darker)
    400 
    401 ;; Local Variables:
    402 ;; no-byte-compile: t
    403 ;; indent-tabs-mode: nil
    404 ;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
    405 ;; End:
    406 
    407 ;;; gruber-darker-theme.el ends here.