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.