behelit

dark colorscheme
git clone git://git.2f30.org/behelit
Log | Files | Refs | LICENSE

behelit-theme.el (13912B)


      1 ;;; behelit theme
      2 
      3 ;; Copyright (C) 2012-2014 oblique
      4 
      5 ;; Author: oblique <psyberbits@gmail.com>
      6 ;; Version: 2.5
      7 
      8 ;; This program is free software; you can redistribute it and/or modify
      9 ;; it under the terms of the GNU General Public License as published by
     10 ;; the Free Software Foundation, either version 3 of the License, or
     11 ;; (at your option) any later version.
     12 
     13 ;; This program is distributed in the hope that it will be useful,
     14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
     15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16 ;; GNU General Public License for more details.
     17 
     18 ;; You should have received a copy of the GNU General Public License
     19 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
     20 
     21 ;;; Installation:
     22 ;;
     23 ;; put this file in ~/.emacs.d/themes and add the following
     24 ;; in your ~/.emacs or ~/.emacs.d/init.el
     25 ;;
     26 ;;    (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
     27 ;;    (load-theme 'behelit t)
     28 ;;
     29 ;; Don't forget that the theme requires Emacs 24.
     30 
     31 (deftheme behelit
     32   "Behelit, a heavily modified molokai-based theme.")
     33 
     34 (let ((class '((class color) (min-colors 89))))
     35   (custom-theme-set-faces
     36    'behelit
     37 
     38    `(default ((,class (:foreground "#5fff5f" :background "#101010"))))
     39    `(cursor ((,class (:background "#5fff5f"))))
     40 
     41    `(vertical-border ((,class (:foreground "#1c1c1c" :background "#1c1c1c"))))
     42    `(fringe ((,class (:foreground "#b03060" :background "#1c1c1c"))))
     43    `(mode-line ((,class (:foreground "#5f5faf" :background "#1c1c1c" :box nil
     44 				     :underline nil :weight normal :slant normal))))
     45    `(mode-line-inactive ((,class (:foreground "#585858" :background "#1c1c1c" :box nil))))
     46    `(mode-line-highlight ((,class (:box nil :underline t))))
     47    `(linum ((,class (:background "#101010" :foreground "#5f87af"
     48 				 :underline nil :slant normal :weight normal))))
     49    `(menu ((,class (:foreground "#5f5faf" :background "#1c1c1c" :inverse-video nil))))
     50    `(minibuffer-prompt ((,class (:foreground "#5f87d7" :weight bold))))
     51    `(region ((,class (:background "#1c1c1c"))))
     52    `(button ((,class (:foreground "#5f87d7"))))
     53    `(trailing-whitespace ((,class (:background "#ff005f"))))
     54    `(escape-glyph ((,class (:foreground "#ffff5f"))))
     55    `(nobreak-space ((,class (:foreground "#ffff5f"))))
     56 
     57    `(show-paren-match-face ((,class (:foreground "#000000" :background "#ff875f"))))
     58    `(show-paren-mismatch-face ((,class (:foreground "#000000" :background "#d7005f"))))
     59 
     60    ;;; faces used by ggtags.el
     61    `(ggtags-global-line ((,class (:inherit nil :underline t))))
     62    `(compilation-line-number ((,class (:foreground "#d7005f"))))
     63    `(compilation-info ((,class (:foreground "#5f87d7"))))
     64    `(compilation-error ((,class (:foreground "#d7005f"))))
     65    `(compilation-mode-line-exit ((,class (:foreground "#5f87d7"))))
     66    `(compilation-mode-line-fail ((,class (:foreground "#d7005f"))))
     67    `(error ((,class (:foreground "#d7005f"))))
     68    `(success ((,class (:foreground "#00ff87"))))
     69 
     70    ;;; ediff
     71    `(ediff-even-diff-A ((,class (:foreground "#000000" :background "#5fffaf" :weight normal))))
     72    `(ediff-odd-diff-A ((,class (:foreground "#000000" :background "#5fffaf" :weight normal))))
     73    `(ediff-current-diff-A ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
     74    `(ediff-fine-diff-A ((,class (:foreground "#000000" :background "#d70087" :weight normal))))
     75 
     76    `(ediff-even-diff-B ((,class (:foreground "#000000" :background "#5f87d7" :weight normal))))
     77    `(ediff-odd-diff-B ((,class (:foreground "#000000" :background "#5f87d7" :weight normal))))
     78    `(ediff-current-diff-B ((,class (:foreground "#000000" :background "#5f5fff" :weight normal))))
     79    `(ediff-fine-diff-B ((,class (:foreground "#000000" :background "#d70087" :weight normal))))
     80 
     81    `(ediff-even-diff-C ((,class (:foreground "#000000" :background "#af87ff" :weight normal))))
     82    `(ediff-odd-diff-C ((,class (:foreground "#000000" :background "#af87ff" :weight normal))))
     83    `(ediff-current-diff-C ((,class (:foreground "#000000" :background "#af5fff" :weight normal))))
     84    `(ediff-fine-diff-C ((,class (:foreground "#000000" :background "#d70087" :weight normal))))
     85 
     86    `(ediff-even-diff-Ancestor ((,class (:foreground "#000000" :background "#ff875f" :weight normal))))
     87    `(ediff-odd-diff-Ancestor ((,class (:foreground "#000000" :background "#ff875f" :weight normal))))
     88    `(ediff-current-diff-Ancestor ((,class (:foreground "#000000" :background "#ff5f5f" :weight normal))))
     89    `(ediff-fine-diff-Ancestor ((,class (:foreground "#000000" :background "#d70087" :weight normal))))
     90 
     91    ;;; popup.el
     92    `(popup-face ((,class (:foreground "#585858" :background "#1c1c1c" :weight normal))))
     93    `(popup-isearch-match ((,class (:foreground "#000000" :background "#af87ff" :weight normal))))
     94    `(popup-menu-face ((,class (:foreground "#585858" :background "#1c1c1c" :weight normal))))
     95    `(popup-menu-mouse-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
     96    `(popup-menu-selection-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
     97    `(popup-menu-summary-face ((,class (:foreground "#585858" :background "#1c1c1c" :weight normal))))
     98    `(popup-scroll-bar-background-face ((,class (:background "#1c1c1c"))))
     99    `(popup-scroll-bar-foreground-face ((,class (:background "#5f87d7"))))
    100    `(popup-summary-face ((,class (:foreground "#585858" :background "#1c1c1c" :weight normal))))
    101    `(popup-tip-face ((,class (:foreground "#d7005f" :background "#1c1c1c" :weight normal))))
    102 
    103    ;;; auto-complete.el
    104    `(ac-candidate-mouse-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
    105    `(ac-completion-face ((,class (:foreground "#af87d7" :weight normal :underline t))))
    106    `(ac-candidate-face ((,class (:foreground "#5f87d7" :background "#1c1c1c" :weight normal))))
    107    `(ac-selection-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
    108    `(ac-gtags-candidate-face ((,class (:foreground "#5f87d7" :background "#1c1c1c" :weight normal))))
    109    `(ac-gtags-selection-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
    110    `(ac-yasnippet-candidate-face ((,class (:foreground "#00ff87" :background "#1c1c1c" :weight normal))))
    111    `(ac-yasnippet-selection-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
    112    `(ac-irony-candidate-face ((,class (:foreground "#af87ff" :background "#1c1c1c" :weight normal))))
    113    `(ac-irony-selection-face ((,class (:foreground "#000000" :background "#00ff87" :weight normal))))
    114 
    115    ;; company-mode
    116    `(company-scrollbar-bg ((,class (:background "#1c1c1c"))))
    117    `(company-scrollbar-fg ((,class (:background "#5f87d7"))))
    118    `(company-tooltip ((,class (:foreground "#5f87d7" :background "#1c1c1c"))))
    119    `(company-tooltip-annotation ((,class (:inherit company-tooltip :foreground "#5f87d7"))))
    120    `(company-tooltip-common ((,class (:inherit company-tooltip :foreground "#af87ff"))))
    121    `(company-tooltip-selection ((,class (:inherit company-tooltip :foreground "#000000" :background "#00ff87"))))
    122    `(company-tooltip-common-selection ((,class (:inherit company-tooltip-selection))))
    123    `(company-tooltip-search ((,class (:inherit company-tooltip-selection))))
    124    `(company-template-field ((,class (:foreground "#000000" :background "#ff5f5f" :weight normal))))
    125 
    126    ;;; highlight
    127    `(isearch ((,class (:foreground "#000000" :background "#ff875f" :weight normal))))
    128    `(isearch-fail ((,class (:foreground "#d7005f" :background nil :weight bold))))
    129    `(lazy-highlight ((,class (:foreground "#000000" :background "#ffff5f" :weight normal))))
    130    `(highlight ((,class (:foreground "#000000" :background "#5f87d7"))))
    131    `(hi-black ((,class (:background "#1c1c1c" :foreground "#3a3a3a"))))
    132    `(hi-black-b ((,class (:background "#3a3a3a" :foreground "#1c1c1c" :weight bold))))
    133    `(hi-black-hb ((,class (:background "#3a3a3a" :foreground "#1c1c1c" :weight bold :height 1.50))))
    134    `(hi-blue ((,class (:background "#0087ff" :foreground "#1c1c1c"))))
    135    `(hi-blue-b ((,class (:foreground "#0087ff" :weight bold))))
    136    `(hi-green ((,class (:background "#00ff87" :foreground "#1c1c1c"))))
    137    `(hi-green-b ((,class (:foreground "#00ff87" :weight bold))))
    138    `(hi-pink ((,class (:background "#d7005f" :foreground "#1c1c1c"))))
    139    `(hi-red-b ((,class (:foreground "#d7005f" :weight bold))))
    140    `(hi-yellow ((,class (:background "#ffff5f" :foreground "#1c1c1c"))))
    141    `(hl-line ((,class (:background "#1c1c1c" :inherit nil))))
    142    `(match ((,class (:background "#ffff5f" :foreground "#4e4e4e" :inherit nil))))
    143 
    144    ;;; tabbar
    145    `(tabbar-default ((,class (:background "#1c1c1c" :box nil :underline nil :height 1.0 :weight normal :inherit nil))))
    146    `(tabbar-unselected ((,class (:background "#1c1c1c" :foreground "#585858"
    147 					     :box nil :underline nil :weight normal))))
    148    `(tabbar-selected ((,class (:background "#1c1c1c" :foreground "#d7005f"
    149 					   :box nil :underline nil :weight bold))))
    150    `(tabbar-button ((,class (:background "#1c1c1c" :foreground "#585858"
    151 					 :box nil :underline nil))))
    152 
    153    ;;; font lock
    154    `(font-lock-builtin-face ((,class (:foreground "#8787af"))))
    155    `(font-lock-comment-face ((,class (:foreground "#585858"))))
    156    `(font-lock-comment-delimiter-face ((,class (:foreground "#585858"))))
    157    `(font-lock-constant-face ((,class (:foreground "#af87ff"))))
    158    `(font-lock-doc-face ((,class (:foreground "#5f5f87"))))
    159    `(font-lock-function-name-face ((,class (:foreground "#af87ff" :weight bold))))
    160    `(font-lock-keyword-face ((,class (:foreground "#d7005f" :weight bold))))
    161    `(font-lock-negation-char-face ((,class (:weight bold))))
    162    `(font-lock-preprocessor-face ((,class (:foreground "#87ff5f" :weight bold))))
    163    `(font-lock-string-face ((,class (:foreground "#ffff87"))))
    164    `(font-lock-type-face ((,class (:foreground "#5f87d7"))))
    165    `(font-lock-variable-name-face ((,class (:foreground "#d7005f" :weight bold))))
    166    `(font-lock-warning-face ((,class (:foreground "#d7005f" :weight bold))))
    167    `(c-annotation-face ((,class (:inherit font-lock-constant-face))))
    168    `(font-lock-custom-number-face ((,class (:foreground "#af87ff"))))
    169    `(font-lock-custom-todo-face ((,class (:foreground "#af87ff" :weight bold))))
    170 
    171    ;;; diff
    172    `(diff-added ((,class (:foreground "#5f87ff" :background nil :weight bold))))
    173    `(diff-removed ((,class (:foreground "#d7005f" :background nil :weight bold))))
    174    `(diff-indicator-added ((,class (:inherit diff-added))))
    175    `(diff-indicator-removed ((,class (:inherit diff-removed))))
    176    `(diff-refine-added ((,class (:inherit diff-added :weight normal
    177 					  :foreground "#000000" :background "#5f87ff"))))
    178    `(diff-refine-removed ((,class (:inherit diff-removed :weight normal
    179 					    :foreground "#000000" :background "#d7005f"))))
    180    `(diff-context ((,class (:foreground "#5fff5f"))))
    181    `(diff-file-header ((,class (:foreground "#af87ff" :background nil))))
    182    `(diff-header ((,class (:foreground "#af87ff" :background nil))))
    183    `(diff-hunk-header ((,class (:foreground "#ff5f5f" :background nil))))
    184 
    185    ;;; rfc
    186    `(rfc-node ((,class (:bold t :foreground "#af87ff"))))
    187    `(rfc-xref ((,class (:bold t :foreground "#af87ff"))))
    188 
    189    ;;; markdown-mode
    190    `(markdown-italic-face ((,class (:slant italic))))
    191    `(markdown-bold-face ((,class (:weight bold))))
    192    `(markdown-header-face ((,class (:weight normal))))
    193    `(markdown-header-face-1 ((,class (:foreground "#5f87ff"))))
    194    `(markdown-header-face-2 ((,class (:foreground "#d7005f"))))
    195    `(markdown-header-face-3 ((,class (:foreground "#87ff5f"))))
    196    `(markdown-header-face-4 ((,class (:foreground "#af87ff"))))
    197    `(markdown-header-face-5 ((,class (:foreground "#ffff87"))))
    198    `(markdown-header-face-6 ((,class (:foreground "#5f87ff"))))
    199    `(markdown-inline-code-face ((,class (:foreground "#5f87ff"))))
    200    `(markdown-list-face ((,class (:foreground "#87ff5f"))))
    201    `(markdown-blockquote-face ((,class (:slant italic))))
    202    `(markdown-pre-face ((,class (:foreground "#af87ff"))))
    203    `(markdown-link-face ((,class (:foreground "#5f87ff"))))
    204    `(markdown-reference-face ((,class (:foreground "#5f87ff"))))
    205    `(markdown-url-face ((,class (:foreground "#ffff87"))))
    206    `(markdown-link-title-face ((,class (:foreground "#d7005f"))))
    207    `(markdown-comment-face ((,class (:foreground "#585858"))))
    208    `(markdown-math-face ((,class (:foreground "#af87ff" :slant italic))))
    209 
    210    ;;; outline-mode
    211    `(outline-1 ((,class (:foreground "#5f87ff"))))
    212    `(outline-2 ((,class (:foreground "#d7005f"))))
    213    `(outline-3 ((,class (:foreground "#87ff5f"))))
    214    `(outline-4 ((,class (:foreground "#af87ff"))))
    215    `(outline-5 ((,class (:foreground "#ffff87"))))
    216    `(outline-6 ((,class (:foreground "#5f87ff"))))
    217    `(outline-7 ((,class (:foreground "#d7005f"))))
    218    `(outline-8 ((,class (:foreground "#87ff5f"))))
    219 
    220    ))
    221 
    222 ;;; popup.el: disable cursor color changing
    223 (setq popup-isearch-cursor-color nil)
    224 
    225 ;;; additional highlightings
    226 (unless (boundp 'font-lock-custom-number-face)
    227   (progn
    228     (make-face 'font-lock-custom-number-face)
    229     (setq font-lock-custom-number-face 'font-lock-custom-number-face)))
    230 
    231 (unless (boundp 'font-lock-custom-todo-face)
    232   (progn
    233     (make-face 'font-lock-custom-todo-face)
    234     (setq font-lock-custom-todo-face 'font-lock-custom-todo-face)))
    235 
    236 (defun add-font-locks ()
    237   (font-lock-add-keywords nil
    238      '(
    239        ("\\<\\(\\([0-9]+\\.\\)?[0-9]+\\([eE][+-]?[0-9]*\\)?\\([uU]?[lL]\\{0,2\\}\\|[lL]\\{0,2\\}[uU]?\\)\\)\\>" . font-lock-custom-number-face)
    240        ("\\<\\(0[xX][0-9a-fA-F]+\\)\\>" . font-lock-custom-number-face)
    241        ))
    242   (font-lock-add-keywords nil '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))
    243   (font-lock-add-keywords nil '(("\\<\\(TODO\\):" 1 font-lock-custom-todo-face t))))
    244 
    245 
    246 ;; enable additional font-locks for the following modes
    247 (add-hook 'c-mode-common-hook 'add-font-locks)
    248 
    249 
    250 (provide-theme 'behelit)
    251 
    252 ;; Local Variables:
    253 ;; no-byte-compile: t
    254 ;; End:
    255 
    256 ;;; behelit-theme.el ends here.