Split the havoc theme into a havoc-dark and havoc-light
This commit is contained in:
parent
a7b1e59e5b
commit
003c326111
3
init.el
3
init.el
@ -52,8 +52,9 @@
|
||||
|
||||
;; Theme --------------------------------------------------------------------
|
||||
|
||||
(add-to-list 'load-path "~/.emacs.d/themes/")
|
||||
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
|
||||
(load-theme 'havoc t) ;; Load personal theme
|
||||
(load-theme 'havoc-dark t) ;; Load personal theme
|
||||
|
||||
;; --------------------------------------------------------------------------
|
||||
;; Change file in which custom variable changes are saved.
|
||||
|
@ -17,7 +17,8 @@
|
||||
|
||||
(setq init-packages/editing-packages
|
||||
|
||||
'(rainbow-delimiters
|
||||
'(rainbow-mode
|
||||
rainbow-delimiters
|
||||
highlight-parentheses
|
||||
whole-line-or-region)
|
||||
|
||||
|
287
themes/havoc-common.el
Normal file
287
themes/havoc-common.el
Normal file
@ -0,0 +1,287 @@
|
||||
;;; havoc-common.el --- definition of `Havoc' themes.
|
||||
|
||||
;; Copyright (C) 2017 Wojciech Kozlowski
|
||||
|
||||
;; Author: Wojciech Kozlowski <wojciech.kozlowski@vivaldi.net>
|
||||
;; Keywords: faces
|
||||
;; Compatibility: 24.1
|
||||
;; Version: 0.0.1
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or (at
|
||||
;; your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; havoc-dark - an adaptation of the underwater theme by Jon-Michael Deldin, a
|
||||
;; gentle deep blue theme.
|
||||
|
||||
;; havoc-light - an adaptation of the default Emacs theme.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defun create-havoc-theme (variant theme-name) ;; ** DARK ** ** LIGHT **
|
||||
(let ((*active-line-bg* (if (eq variant 'dark) "#003355" "#5BA0EB"))
|
||||
(*bg-1* (if (eq variant 'dark) "#102235" "#FFFFFF"))
|
||||
(*bg-2* (if (eq variant 'dark) "#233445" "#EBEBEB"))
|
||||
(*bg-3* (if (eq variant 'dark) "#364555" "#D6D6D6"))
|
||||
(*bg-4* (if (eq variant 'dark) "#495765" "#C2C2C2"))
|
||||
(*comments* (if (eq variant 'dark) "#4E6F91" "#B22222"))
|
||||
(*comments-bg* (if (eq variant 'dark) "#102235" "#FFFFFF"))
|
||||
(*constant* (if (eq variant 'dark) "#A45BAD" "#5F9EA0"))
|
||||
(*current-line* (if (eq variant 'dark) "#18374F" "#B4EEB4"))
|
||||
(*cursor-block* (if (eq variant 'dark) "#6785C5" "#000000"))
|
||||
(*cursor-underscore* (if (eq variant 'dark) "#FFFAAA" "#B22222"))
|
||||
(*fg-standout* (if (eq variant 'dark) "#FFEC99" "#551A8B"))
|
||||
(*fringe* (if (eq variant 'dark) "#0A1721" "#F2F2F2"))
|
||||
(*keywords* (if (eq variant 'dark) "#8AC6F2" "#A020F0"))
|
||||
(*light-purple* (if (eq variant 'dark) "#FFCCFF" "#FFCCFF"))
|
||||
(*line-number* (if (eq variant 'dark) "#2F577C" "#B3B3B3"))
|
||||
(*line-number-bg* (if (eq variant 'dark) "#0A1721" "#DFEFF6"))
|
||||
(*mb-prompt* (if (eq variant 'dark) "#8AC6F2" "#0000FF"))
|
||||
(*method-declaration* (if (eq variant 'dark) "#AF81F4" "#0000FF"))
|
||||
(*mode-line-bg* (if (eq variant 'dark) "#0A1721" "#DFEFF6"))
|
||||
(*mode-line-fg* (if (eq variant 'dark) "#8EAFD1" "#333333"))
|
||||
(*normal* (if (eq variant 'dark) "#DFEFF6" "#000000"))
|
||||
(*number* (if (eq variant 'dark) "#96DEFA" "#AF81F4"))
|
||||
(*operators* (if (eq variant 'dark) "#3E71A1" "#DA70D6"))
|
||||
(*regexp* (if (eq variant 'dark) "#EF7760" "#EF7760"))
|
||||
(*regexp-alternate* (if (eq variant 'dark) "#FFFF00" "#FFFF00"))
|
||||
(*regexp-alternate-2* (if (eq variant 'dark) "#B18A3D" "#B18A3D"))
|
||||
(*search-fg* (if (eq variant 'dark) "#E2DAEF" "#333333"))
|
||||
(*search-bg* (if (eq variant 'dark) "#AF81F4" "#AF81F4"))
|
||||
(*string* (if (eq variant 'dark) "#89E14B" "#BC8F8F"))
|
||||
(*success* (if (eq variant 'dark) "#86DC2F" "#40E0D0"))
|
||||
(*ttip* (if (eq variant 'dark) "#E1E1E0" "#000000"))
|
||||
(*ttip-sl* (if (eq variant 'dark) "#005577" "#AF81F4"))
|
||||
(*ttip-bg* (if (eq variant 'dark) "#495765" "#E2DAEF"))
|
||||
(*type* (if (eq variant 'dark) "#5BA0EB" "#228B22"))
|
||||
(*variable* (if (eq variant 'dark) "#8AC6F2" "#B8860B"))
|
||||
(*vertical-border* (if (eq variant 'dark) "#0A1721" "#C2C2C2"))
|
||||
(*visual-selection* (if (eq variant 'dark) "#262D51" "#8AC6F2"))
|
||||
(*warning* (if (eq variant 'dark) "#C62626" "#C62626"))
|
||||
(*whitespace-fg* (if (eq variant 'dark) "#4E6F91" "#D3D3D3"))
|
||||
|
||||
;; Rainbow delimiters
|
||||
(*rdd-1* (if (eq variant 'dark) "#8AC6F2" "#0000FF"))
|
||||
(*rdd-2* (if (eq variant 'dark) "#AF81F4" "#A020F0"))
|
||||
(*rdd-3* (if (eq variant 'dark) "#89E14B" "#00BB00"))
|
||||
(*rdd-4* (if (eq variant 'dark) "#40E0D0" "#00BBBB"))
|
||||
(*rdd-5* (if (eq variant 'dark) "#FFEC99" "#551A8B"))
|
||||
(*rdd-6* (if (eq variant 'dark) "#8AC6F2" "#0000FF"))
|
||||
(*rdd-7* (if (eq variant 'dark) "#AF81F4" "#A020F0"))
|
||||
(*rdd-8* (if (eq variant 'dark) "#89E14B" "#00BB00"))
|
||||
(*rdd-9* (if (eq variant 'dark) "#40E0D0" "#00BBBB"))
|
||||
|
||||
;; Diff colors
|
||||
(*diff-added-bg* (if (eq variant 'dark) "#336622" "#DDFFDD"))
|
||||
(*diff-added-fg* (if (eq variant 'dark) "#DDFFDD" "#22AA22"))
|
||||
(*diff-added-hl-bg* (if (eq variant 'dark) "#337733" "#CCEECC"))
|
||||
(*diff-added-hl-fg* (if (eq variant 'dark) "#CCEECC" "#22AA22"))
|
||||
(*diff-base-bg* (if (eq variant 'dark) "#666622" "#FFFFCC"))
|
||||
(*diff-base-fg* (if (eq variant 'dark) "#FFFFCC" "#AAAA11"))
|
||||
(*diff-base-hl-bg* (if (eq variant 'dark) "#777722" "#EEEEBB"))
|
||||
(*diff-base-hl-fg* (if (eq variant 'dark) "#EEEEBB" "#AAAA11"))
|
||||
(*diff-rmvd-bg* (if (eq variant 'dark) "#663333" "#FFDDDD"))
|
||||
(*diff-rmvd-fg* (if (eq variant 'dark) "#FFDDDD" "#AA2222"))
|
||||
(*diff-rmvd-hl-bg* (if (eq variant 'dark) "#773333" "#EECCCC"))
|
||||
(*diff-rmvd-hl-fg* (if (eq variant 'dark) "#EECCCC" "#AA2222"))
|
||||
(*diffstat-added* (if (eq variant 'dark) "#89E14B" "#22AA22"))
|
||||
(*diffstat-rmvd* (if (eq variant 'dark) "#C62626" "#AA2222"))
|
||||
(*hash* (if (eq variant 'dark) "#8AC6F2" "#A020F0"))
|
||||
(*diff-hdr-bg* (if (eq variant 'dark) "#495765" "#E2DAEF"))
|
||||
(*diff-file-hdr-fg* (if (eq variant 'dark) "#DFEFF6" "#551A8B"))
|
||||
(*diff-hunk-hdr-bg* (if (eq variant 'dark) "#364555" "#E2DAEF"))
|
||||
(*diff-hunk-hdr-fg* (if (eq variant 'dark) "#E1E1E0" "#000000"))
|
||||
|
||||
;; Base colors
|
||||
(*aqua* (if (eq variant 'dark) "#2D9574" "#2D9574"))
|
||||
(*aqua-bg* (if (eq variant 'dark) "#293235" "#293235"))
|
||||
(*green* (if (eq variant 'dark) "#00FF00" "#00FF00"))
|
||||
(*green-bg* (if (eq variant 'dark) "#293235" "#293235"))
|
||||
(*green-bg-s* (if (eq variant 'dark) "#29422D" "#29422D"))
|
||||
(*cyan* (if (eq variant 'dark) "#00FFFF" "#00FFFF"))
|
||||
(*red* (if (eq variant 'dark) "#FF0000" "#FF0000"))
|
||||
(*red-bg* (if (eq variant 'dark) "#3C2A2C" "#3C2A2C"))
|
||||
(*red-bg-s* (if (eq variant 'dark) "#512E31" "#512E31"))
|
||||
(*blue* (if (eq variant 'dark) "#4F97D7" "#4F97D7"))
|
||||
(*blue-bg* (if (eq variant 'dark) "#293239" "#293239"))
|
||||
(*magenta* (if (eq variant 'dark) "#FF00FF" "#FF00FF"))
|
||||
(*yellow* (if (eq variant 'dark) "#FFFF00" "#FFFF00"))
|
||||
(*yellow-bg* (if (eq variant 'dark) "#32322C" "#32322C")))
|
||||
|
||||
(custom-theme-set-faces
|
||||
theme-name
|
||||
|
||||
`(bold ((t (:bold t))))
|
||||
`(button ((t (:foreground, *keywords* :underline t))))
|
||||
`(default ((t (:background, *bg-1* :foreground, *normal*))))
|
||||
`(header-line ((t (:background, *mode-line-bg* :foreground, *normal*)))) ;; info header
|
||||
`(highlight ((t (:background, *current-line*))))
|
||||
`(highlight-face ((t (:background, *current-line*))))
|
||||
`(hl-line ((t (:background, *current-line* :underline t))))
|
||||
`(info-xref ((t (:foreground, *keywords* :underline t))))
|
||||
`(Info-quoted ((t (:foreground, *keywords*))))
|
||||
`(region ((t (:background, *visual-selection*))))
|
||||
`(underline ((nil (:underline t))))
|
||||
|
||||
;; font-lock
|
||||
`(font-lock-builtin-face ((t (:foreground, *operators*))))
|
||||
`(font-lock-comment-delimiter-face ((t (:foreground, *comments*))))
|
||||
`(font-lock-comment-face ((t (:foreground, *comments*))))
|
||||
`(font-lock-constant-face ((t (:foreground, *constant*))))
|
||||
`(font-lock-doc-face ((t (:foreground, *string*))))
|
||||
`(font-lock-doc-string-face ((t (:foreground, *string*))))
|
||||
`(font-lock-function-name-face ((t (:foreground, *method-declaration* :inherit bold))))
|
||||
`(font-lock-keyword-face ((t (:inherit bold :foreground, *keywords*))))
|
||||
`(font-lock-negation-char-face ((t (:foreground, *warning*))))
|
||||
`(font-lock-preprocessor-face ((t (:foreground, *keywords*))))
|
||||
`(font-lock-reference-face ((t (:foreground, *constant*))))
|
||||
`(font-lock-regexp-grouping-backslash ((t (:foreground, *regexp*))))
|
||||
`(font-lock-regexp-grouping-construct ((t (:foreground, *regexp*))))
|
||||
`(font-lock-string-face ((t (:foreground, *string*))))
|
||||
`(font-lock-type-face ((t (:foreground, *type* :inherit bold))))
|
||||
`(font-lock-variable-name-face ((t (:foreground, *variable*))))
|
||||
`(font-lock-warning-face ((t (:foreground, *warning*))))
|
||||
|
||||
;; whitespace
|
||||
`(whitespace-space ((t (:foreground ,*whitespace-fg*))))
|
||||
`(whitespace-indentation ((t (:foreground ,*whitespace-fg*))))
|
||||
`(whitespace-trailing ((t (:background ,*keywords* :foreground ,*whitespace-fg*))))
|
||||
|
||||
;; GUI
|
||||
`(fringe ((t (:foreground, *normal* :background, *bg-1*))))
|
||||
`(header-line ((t (:background, *fringe* :foreground, *normal*)))) ;; info header
|
||||
`(linum ((t (:foreground, *line-number* :background, *line-number-bg* :underline nil :bold nil :italic nil))))
|
||||
`(minibuffer-prompt ((t (:inherit bold :foreground, *mb-prompt*))))
|
||||
`(mode-line ((t (:background, *active-line-bg* :foreground, *normal*))))
|
||||
`(mode-line-inactive ((t (:background, *mode-line-bg* :foreground, *mode-line-fg*))))
|
||||
`(cursor ((t (:background, *cursor-block*))))
|
||||
`(text-cursor ((t (:background, *cursor-underscore*))))
|
||||
`(vertical-border ((t (:foreground, *vertical-border*)))) ;; between splits
|
||||
|
||||
;; search
|
||||
`(isearch ((t (:background, *search-bg* :foreground, *search-fg*))))
|
||||
`(isearch-fail ((t (:background, *warning*))))
|
||||
`(lazy-highlight ((t (:background, *operators* :foreground, *search-fg*))))
|
||||
|
||||
;; erb/rhtml-mode
|
||||
`(erb-out-delim-face ((t (:foreground, *regexp*))))
|
||||
|
||||
;; enh-ruby-mode
|
||||
`(enh-ruby-op-face ((t (:foreground, *operators*))))
|
||||
`(enh-ruby-regexp-delimiter-face ((t (:foreground, *regexp*))))
|
||||
`(enh-ruby-string-delimiter-face ((t (:foreground, *normal*))))
|
||||
|
||||
;; org-mode
|
||||
`(org-date ((t (:foreground, *light-purple* :underline t))))
|
||||
`(org-level-1 ((t (:foreground, *string*))))
|
||||
`(org-special-keyword ((t (:foreground, *variable*))))
|
||||
`(org-link ((t (:foreground, *keywords* :underline t))))
|
||||
`(org-checkbox ((t (:foreground, *keywords* :background, *bg-1* :bold t))))
|
||||
`(org-clock-overlay ((t (:foreground, *mode-line-bg* :background, *string*))))
|
||||
|
||||
;; show-paren
|
||||
`(show-paren-mismatch ((t (:foreground, *warning* :weight ultra-bold :underline t))))
|
||||
`(show-paren-match ((t (:foreground, *success* :weight ultra-bold :underline t))))
|
||||
|
||||
;; highlight-parentheses
|
||||
`(hl-paren-face ((t (:weight ultra-bold))))
|
||||
|
||||
;; rainbow delimiters mode
|
||||
`(rainbow-delimiters-depth-1-face ((t (:foreground ,*rdd-1*))))
|
||||
`(rainbow-delimiters-depth-2-face ((t (:foreground ,*rdd-2*))))
|
||||
`(rainbow-delimiters-depth-3-face ((t (:foreground ,*rdd-3*))))
|
||||
`(rainbow-delimiters-depth-4-face ((t (:foreground ,*rdd-4*))))
|
||||
`(rainbow-delimiters-depth-5-face ((t (:foreground ,*rdd-5*))))
|
||||
`(rainbow-delimiters-depth-6-face ((t (:foreground ,*rdd-6*))))
|
||||
`(rainbow-delimiters-depth-7-face ((t (:foreground ,*rdd-7*))))
|
||||
`(rainbow-delimiters-depth-8-face ((t (:foreground ,*rdd-8*))))
|
||||
`(rainbow-delimiters-depth-9-face ((t (:foreground ,*rdd-9*))))
|
||||
|
||||
;;;;; diff
|
||||
`(diff-header ((t (:background ,*diff-hdr-bg*))))
|
||||
`(diff-file-header ((t (:foreground ,*diff-file-hdr-fg*))))
|
||||
`(diff-hunk-header ((t (:background ,*diff-hunk-hdr-bg* :foreground ,*diff-hunk-hdr-fg*))))
|
||||
`(diff-added ((t (:background ,*diff-added-bg* :foreground ,*diff-added-fg*))))
|
||||
`(diff-removed ((t (:background ,*diff-rmvd-bg* :foreground ,*diff-rmvd-fg*))))
|
||||
|
||||
;;;;; magit
|
||||
`(magit-blame-culprit ((t :background ,*active-line-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-date ((t :background ,*active-line-bg* :foreground ,*string*)))
|
||||
`(magit-blame-hash ((t :background ,*active-line-bg* :foreground ,*method-declaration*)))
|
||||
`(magit-blame-header ((t :background ,*active-line-bg* :foreground ,*string*)))
|
||||
`(magit-blame-heading ((t :background ,*active-line-bg* :foreground ,*string*)))
|
||||
`(magit-blame-name ((t :background ,*active-line-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-sha1 ((t :background ,*active-line-bg* :foreground ,*method-declaration*)))
|
||||
`(magit-blame-subject ((t :background ,*active-line-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-summary ((t :background ,*active-line-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-time ((t :background ,*active-line-bg* :foreground ,*string*)))
|
||||
`(magit-branch ((t (:foreground ,*constant* :inherit bold))))
|
||||
`(magit-branch-current ((t (:foreground ,*blue* :inherit bold :box t))))
|
||||
`(magit-branch-local ((t (:foreground ,*blue* :inherit bold))))
|
||||
`(magit-branch-remote ((t (:foreground ,*aqua* :inherit bold))))
|
||||
`(magit-diff-context-highlight ((t (:background ,*bg-2* :foreground ,*normal*))))
|
||||
`(magit-diff-file-header ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-file-heading ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-file-heading-highlight ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-hunk-header ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-hunk-heading ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-hunk-heading-highlight ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-added ((t (:background ,*diff-added-bg* :foreground ,*diff-added-fg*))))
|
||||
`(magit-diff-added-highlight ((t (:background ,*diff-added-hl-bg* :foreground ,*diff-added-hl-fg*))))
|
||||
`(magit-diff-base ((t (:background ,*diff-base-bg* :foreground ,*diff-base-fg*))))
|
||||
`(magit-diff-base-highlight ((t (:background ,*diff-base-hl-bg* :foreground ,*diff-base-hl-fg*))))
|
||||
`(magit-diff-removed ((t (:background ,*diff-rmvd-bg* :foreground ,*diff-rmvd-fg*))))
|
||||
`(magit-diff-removed-highlight ((t (:background ,*diff-rmvd-hl-bg* :foreground ,*diff-rmvd-hl-fg*))))
|
||||
`(magit-diffstat-added ((t (:foreground ,*diffstat-added*))))
|
||||
`(magit-diffstat-removed ((t (:foreground ,*diffstat-rmvd*))))
|
||||
`(magit-hash ((t (:foreground ,*hash*))))
|
||||
`(magit-hunk-heading ((t (:background ,*bg-3*))))
|
||||
`(magit-hunk-heading-highlight ((t (:background ,*bg-3*))))
|
||||
`(magit-item-highlight ((t :background ,*bg-2*)))
|
||||
`(magit-log-author ((t (:foreground ,*method-declaration*))))
|
||||
`(magit-log-head-label-head ((t (:background ,*fg-standout* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-local ((t (:background ,*keywords* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-remote ((t (:background ,*success* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-tags ((t (:background ,*magenta* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-wip ((t (:background ,*cyan* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-sha1 ((t (:foreground ,*string*))))
|
||||
`(magit-process-ng ((t (:foreground ,*warning* :inherit bold))))
|
||||
`(magit-process-ok ((t (:foreground ,*method-declaration* :inherit bold))))
|
||||
`(magit-reflog-amend ((t (:foreground ,*magenta*))))
|
||||
`(magit-reflog-checkout ((t (:foreground ,*blue*))))
|
||||
`(magit-reflog-cherry-pick ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-commit ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-merge ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-other ((t (:foreground ,*cyan*))))
|
||||
`(magit-reflog-rebase ((t (:foreground ,*magenta*))))
|
||||
`(magit-reflog-remote ((t (:foreground ,*cyan*))))
|
||||
`(magit-reflog-reset ((t (:foreground ,*red*))))
|
||||
`(magit-section-heading ((t (:foreground ,*keywords* :inherit bold))))
|
||||
`(magit-section-highlight ((t (:background ,*bg-2*))))
|
||||
`(magit-section-title ((t (:background ,*bg-1* :foreground ,*keywords* :inherit bold)))))
|
||||
|
||||
))
|
||||
|
||||
;;;###autoload
|
||||
(when (and (boundp 'custom-theme-load-path) load-file-name)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(provide 'havoc-common)
|
||||
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
|
||||
;;; havoc-common.el ends here
|
7
themes/havoc-dark-theme.el
Normal file
7
themes/havoc-dark-theme.el
Normal file
@ -0,0 +1,7 @@
|
||||
(require 'havoc-common)
|
||||
|
||||
(deftheme havoc-dark "Adaptation of underwater Emacs theme.")
|
||||
|
||||
(create-havoc-theme 'dark 'havoc-dark)
|
||||
|
||||
(provide-theme 'havoc-dark)
|
7
themes/havoc-light-theme.el
Normal file
7
themes/havoc-light-theme.el
Normal file
@ -0,0 +1,7 @@
|
||||
(require 'havoc-common)
|
||||
|
||||
(deftheme havoc-light "Adaptation of default Emacs theme.")
|
||||
|
||||
(create-havoc-theme 'light 'havoc-light)
|
||||
|
||||
(provide-theme 'havoc-light)
|
@ -1,276 +0,0 @@
|
||||
;;; havoc-theme.el --- A gentle, deep blue color theme
|
||||
|
||||
;; Copyright (C) 2017 Wojciech Kozlowski
|
||||
|
||||
;; Author: Wojciech Kozlowski <wojciech.kozlowski@vivaldi.net>
|
||||
;; Keywords: faces
|
||||
;; Compatibility: 24.1
|
||||
;; Version: 0.0.1
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or (at
|
||||
;; your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This an adaptation of the underwater theme by Jon-Michael Deldin
|
||||
|
||||
;;; Code:
|
||||
|
||||
(deftheme havoc "Adaptation of underwater Emacs theme.")
|
||||
|
||||
(let ((*bg-1* "#102235")
|
||||
(*bg-2* "#233445")
|
||||
(*bg-3* "#364555")
|
||||
(*bg-4* "#495765")
|
||||
(*brown* "#E64")
|
||||
(*comments* "#4E6F91")
|
||||
(*comments-bg* "#102235")
|
||||
(*constant* "#A45BAD")
|
||||
(*current-line* "#18374f")
|
||||
(*cursor-block* "#6785c5")
|
||||
(*cursor-underscore* "#FFFAAA")
|
||||
(*fg-standout* "#FFEC99")
|
||||
(*fringe* "#0A1721")
|
||||
(*keywords* "#8AC6F2")
|
||||
(*light-purple* "#FFCCFF")
|
||||
(*line-number* "#2F577C")
|
||||
(*method-declaration* "#AF81F4")
|
||||
(*mode-line-bg* "#0A1721")
|
||||
(*mode-line-fg* "#8EAFD1")
|
||||
(*mode-line-inactive* "#4E6F91")
|
||||
(*normal* "#DFEFF6")
|
||||
(*number* "#96DEFA")
|
||||
(*operators* "#3E71A1")
|
||||
(*parens* "magenta")
|
||||
(*red-light* "#FFB6B0")
|
||||
(*regexp* "#EF7760")
|
||||
(*regexp-alternate* "#FF0")
|
||||
(*regexp-alternate-2* "#B18A3D")
|
||||
(*search-fg* "#E2DAEF")
|
||||
(*search-bg* "#AF81F4")
|
||||
(*string* "#89E14B")
|
||||
(*success* "#86DC2F")
|
||||
(*ttip* "#e1e1e0")
|
||||
(*ttip-sl* "#005577")
|
||||
(*ttip-bg* "#495765")
|
||||
(*type* "#5BA0EB")
|
||||
(*variable* "#8AC6F2")
|
||||
(*vertical-border* "#0A1721")
|
||||
(*visual-selection* "#262D51")
|
||||
(*warning* "#C62626")
|
||||
|
||||
;; Rainbow delimiters
|
||||
(*rdd-1* "#8AC6F2")
|
||||
(*rdd-2* "#AF81F4")
|
||||
(*rdd-3* "#89E14B")
|
||||
(*rdd-4* "turquoise")
|
||||
(*rdd-5* "#FFEC99")
|
||||
(*rdd-6* "#8AC6F2")
|
||||
(*rdd-7* "#AF81F4")
|
||||
(*rdd-8* "#89E14B")
|
||||
(*rdd-9* "turquoise")
|
||||
|
||||
;; Magit colors
|
||||
(*diff-added-bg* "#336622")
|
||||
(*diff-added-fg* "#ddffdd")
|
||||
(*diff-added-hl-bg* "#337733")
|
||||
(*diff-added-hl-fg* "#cceecc")
|
||||
(*diff-base-bg* "#666622")
|
||||
(*diff-base-fg* "#ffffcc")
|
||||
(*diff-base-hl-bg* "#777722")
|
||||
(*diff-base-hl-fg* "#eeeebb")
|
||||
(*diff-rmvd-bg* "#663333")
|
||||
(*diff-rmvd-fg* "#ffdddd")
|
||||
(*diff-rmvd-hl-bg* "#773333")
|
||||
(*diff-rmvd-hl-fg* "#eecccc")
|
||||
|
||||
;; Base colors
|
||||
(*aqua* "#2d9574")
|
||||
(*aqua-bg* "#293235")
|
||||
(*green* "green")
|
||||
(*green-bg* "#293235")
|
||||
(*green-bg-s* "#29422d")
|
||||
(*cyan* "cyan")
|
||||
(*cyan-bg* "#003355")
|
||||
(*red* "red")
|
||||
(*red-bg* "#3c2a2c")
|
||||
(*red-bg-s* "#512e31")
|
||||
(*blue* "#4f97d7")
|
||||
(*blue-bg* "#293239")
|
||||
(*magenta* "magenta")
|
||||
(*yellow* "yellow")
|
||||
(*yellow-bg* "#32322c"))
|
||||
|
||||
(custom-theme-set-faces
|
||||
'havoc
|
||||
|
||||
`(bold ((t (:bold t))))
|
||||
`(button ((t (:foreground, *keywords* :underline t))))
|
||||
`(default ((t (:background, *bg-1* :foreground, *normal*))))
|
||||
`(header-line ((t (:background, *mode-line-bg* :foreground, *normal*)))) ;; info header
|
||||
`(highlight ((t (:background, *current-line*))))
|
||||
`(highlight-face ((t (:background, *current-line*))))
|
||||
`(hl-line ((t (:background, *current-line* :underline t))))
|
||||
`(info-xref ((t (:foreground, *keywords* :underline t))))
|
||||
`(Info-quoted ((t (:foreground, *keywords*))))
|
||||
`(region ((t (:background, *visual-selection*))))
|
||||
`(underline ((nil (:underline t))))
|
||||
|
||||
;; font-lock
|
||||
`(font-lock-builtin-face ((t (:foreground, *operators*))))
|
||||
`(font-lock-comment-delimiter-face ((t (:foreground, *comments*))))
|
||||
`(font-lock-comment-face ((t (:foreground, *comments*))))
|
||||
`(font-lock-constant-face ((t (:foreground, *constant*))))
|
||||
`(font-lock-doc-face ((t (:foreground, *string*))))
|
||||
`(font-lock-doc-string-face ((t (:foreground, *string*))))
|
||||
`(font-lock-function-name-face ((t (:foreground, *method-declaration* :inherit bold))))
|
||||
`(font-lock-keyword-face ((t (:inherit bold :foreground, *keywords*))))
|
||||
`(font-lock-negation-char-face ((t (:foreground, *warning*))))
|
||||
`(font-lock-preprocessor-face ((t (:foreground, *keywords*))))
|
||||
`(font-lock-reference-face ((t (:foreground, *constant*))))
|
||||
`(font-lock-regexp-grouping-backslash ((t (:foreground, *regexp*))))
|
||||
`(font-lock-regexp-grouping-construct ((t (:foreground, *regexp*))))
|
||||
`(font-lock-string-face ((t (:foreground, *string*))))
|
||||
`(font-lock-type-face ((t (:foreground, *type* :inherit bold))))
|
||||
`(font-lock-variable-name-face ((t (:foreground, *variable*))))
|
||||
`(font-lock-warning-face ((t (:foreground, *warning*))))
|
||||
|
||||
;; whitespace
|
||||
`(whitespace-space ((t (:foreground ,*fg-standout*))))
|
||||
|
||||
;; GUI
|
||||
`(fringe ((t (:foreground, *normal* :background, *bg-1*))))
|
||||
`(header-line ((t (:background, *fringe* :foreground, *normal*)))) ;; info header
|
||||
`(linum ((t (:foreground, *line-number* :background, *vertical-border* :underline nil :bold nil :italic nil))))
|
||||
`(minibuffer-prompt ((t (:inherit bold :foreground, *variable*))))
|
||||
`(mode-line ((t (:background, *cyan-bg* :foreground, *normal*))))
|
||||
`(mode-line-inactive ((t (:background, *mode-line-bg* :foreground, *mode-line-fg*))))
|
||||
`(cursor ((t (:background, *cursor-block*))))
|
||||
`(text-cursor ((t (:background, *cursor-underscore*))))
|
||||
`(vertical-border ((t (:foreground, *vertical-border*)))) ;; between splits
|
||||
|
||||
;; search
|
||||
`(isearch ((t (:background, *search-bg* :foreground, *search-fg*))))
|
||||
`(isearch-fail ((t (:background, *warning*))))
|
||||
`(lazy-highlight ((t (:background, *operators* :foreground, *search-fg*))))
|
||||
|
||||
;; erb/rhtml-mode
|
||||
`(erb-out-delim-face ((t (:foreground, *regexp*))))
|
||||
|
||||
;; enh-ruby-mode
|
||||
`(enh-ruby-op-face ((t (:foreground, *operators*))))
|
||||
`(enh-ruby-regexp-delimiter-face ((t (:foreground, *regexp*))))
|
||||
`(enh-ruby-string-delimiter-face ((t (:foreground, *normal*))))
|
||||
|
||||
;; org-mode
|
||||
`(org-date ((t (:foreground, *light-purple* :underline t))))
|
||||
`(org-level-1 ((t (:foreground, *string*))))
|
||||
`(org-special-keyword ((t (:foreground, *variable*))))
|
||||
`(org-link ((t (:foreground, *keywords* :underline t))))
|
||||
`(org-checkbox ((t (:foreground, *keywords* :background, *bg-1* :bold t))))
|
||||
`(org-clock-overlay ((t (:foreground, *mode-line-bg* :background, *string*))))
|
||||
|
||||
;; show-paren
|
||||
`(show-paren-mismatch ((t (:foreground, *warning* :weight ultra-bold :underline t))))
|
||||
`(show-paren-match ((t (:foreground, *success* :weight ultra-bold :underline t))))
|
||||
|
||||
;; highlight-parentheses
|
||||
`(hl-paren-face ((t (:weight ultra-bold))))
|
||||
|
||||
;; rainbow delimiters mode
|
||||
`(rainbow-delimiters-depth-1-face ((t (:foreground ,*rdd-1*))))
|
||||
`(rainbow-delimiters-depth-2-face ((t (:foreground ,*rdd-2*))))
|
||||
`(rainbow-delimiters-depth-3-face ((t (:foreground ,*rdd-3*))))
|
||||
`(rainbow-delimiters-depth-4-face ((t (:foreground ,*rdd-4*))))
|
||||
`(rainbow-delimiters-depth-5-face ((t (:foreground ,*rdd-5*))))
|
||||
`(rainbow-delimiters-depth-6-face ((t (:foreground ,*rdd-6*))))
|
||||
`(rainbow-delimiters-depth-7-face ((t (:foreground ,*rdd-7*))))
|
||||
`(rainbow-delimiters-depth-8-face ((t (:foreground ,*rdd-8*))))
|
||||
`(rainbow-delimiters-depth-9-face ((t (:foreground ,*rdd-9*))))
|
||||
|
||||
;;;;; diff
|
||||
`(diff-header ((t (:background ,*bg-4*))))
|
||||
`(diff-file-header ((t (:foreground ,*normal*))))
|
||||
`(diff-hunk-header ((t (:background ,*bg-3* :foreground ,*ttip*))))
|
||||
`(diff-added ((t (:background ,*diff-added-bg* :foreground ,*diff-added-fg*))))
|
||||
`(diff-removed ((t (:background ,*diff-rmvd-bg* :foreground ,*diff-rmvd-fg*))))
|
||||
|
||||
;;;;; magit
|
||||
`(magit-blame-culprit ((t :background ,*cyan-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-date ((t :background ,*cyan-bg* :foreground ,*string*)))
|
||||
`(magit-blame-hash ((t :background ,*cyan-bg* :foreground ,*method-declaration*)))
|
||||
`(magit-blame-header ((t :background ,*cyan-bg* :foreground ,*string*)))
|
||||
`(magit-blame-heading ((t :background ,*cyan-bg* :foreground ,*string*)))
|
||||
`(magit-blame-name ((t :background ,*cyan-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-sha1 ((t :background ,*cyan-bg* :foreground ,*method-declaration*)))
|
||||
`(magit-blame-subject ((t :background ,*cyan-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-summary ((t :background ,*cyan-bg* :foreground ,*fg-standout*)))
|
||||
`(magit-blame-time ((t :background ,*cyan-bg* :foreground ,*string*)))
|
||||
`(magit-branch ((t (:foreground ,*constant* :inherit bold))))
|
||||
`(magit-branch-current ((t (:foreground ,*blue* :inherit bold :box t))))
|
||||
`(magit-branch-local ((t (:foreground ,*blue* :inherit bold))))
|
||||
`(magit-branch-remote ((t (:foreground ,*aqua* :inherit bold))))
|
||||
`(magit-diff-context-highlight ((t (:background ,*bg-2* :foreground ,*normal*))))
|
||||
`(magit-diff-file-header ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-file-heading ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-file-heading-highlight ((t (:foreground ,*keywords*))))
|
||||
`(magit-diff-hunk-header ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-hunk-heading ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-hunk-heading-highlight ((t (:background ,*ttip-bg* :foreground ,*ttip*))))
|
||||
`(magit-diff-added ((t (:background ,*diff-added-bg* :foreground ,*diff-added-fg*))))
|
||||
`(magit-diff-added-highlight ((t (:background ,*diff-added-hl-bg* :foreground ,*diff-added-hl-fg*))))
|
||||
`(magit-diff-base ((t (:background ,*diff-base-bg* :foreground ,*diff-base-fg*))))
|
||||
`(magit-diff-base-highlight ((t (:background ,*diff-base-hl-bg* :foreground ,*diff-base-hl-fg*))))
|
||||
`(magit-diff-removed ((t (:background ,*diff-rmvd-bg* :foreground ,*diff-rmvd-fg*))))
|
||||
`(magit-diff-removed-highlight ((t (:background ,*diff-rmvd-hl-bg* :foreground ,*diff-rmvd-hl-fg*))))
|
||||
`(magit-diffstat-added ((t (:foreground ,*string*))))
|
||||
`(magit-diffstat-removed ((t (:foreground ,*warning*))))
|
||||
`(magit-hash ((t (:foreground ,*variable*))))
|
||||
`(magit-hunk-heading ((t (:background ,*bg-3*))))
|
||||
`(magit-hunk-heading-highlight ((t (:background ,*bg-3*))))
|
||||
`(magit-item-highlight ((t :background ,*bg-2*)))
|
||||
`(magit-log-author ((t (:foreground ,*method-declaration*))))
|
||||
`(magit-log-head-label-head ((t (:background ,*fg-standout* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-local ((t (:background ,*keywords* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-remote ((t (:background ,*success* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-tags ((t (:background ,*magenta* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-head-label-wip ((t (:background ,*cyan* :foreground ,*bg-1* :inherit bold))))
|
||||
`(magit-log-sha1 ((t (:foreground ,*string*))))
|
||||
`(magit-process-ng ((t (:foreground ,*warning* :inherit bold))))
|
||||
`(magit-process-ok ((t (:foreground ,*method-declaration* :inherit bold))))
|
||||
`(magit-reflog-amend ((t (:foreground ,*magenta*))))
|
||||
`(magit-reflog-checkout ((t (:foreground ,*blue*))))
|
||||
`(magit-reflog-cherry-pick ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-commit ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-merge ((t (:foreground ,*string*))))
|
||||
`(magit-reflog-other ((t (:foreground ,*cyan*))))
|
||||
`(magit-reflog-rebase ((t (:foreground ,*magenta*))))
|
||||
`(magit-reflog-remote ((t (:foreground ,*cyan*))))
|
||||
`(magit-reflog-reset ((t (:foreground ,*red*))))
|
||||
`(magit-section-heading ((t (:foreground ,*keywords* :inherit bold))))
|
||||
`(magit-section-highlight ((t (:background ,*bg-2*))))
|
||||
`(magit-section-title ((t (:background ,*bg-1* :foreground ,*keywords* :inherit bold))))
|
||||
|
||||
))
|
||||
|
||||
;;;###autoload
|
||||
(when (and (boundp 'custom-theme-load-path) load-file-name)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
|
||||
(provide-theme 'havoc)
|
||||
;;; havoc-theme.el ends here
|
Reference in New Issue
Block a user