Extract doom-theme; use submodule

This commit is contained in:
Henrik Lissner 2016-05-28 22:33:20 -04:00
parent fc78d46f30
commit 905cf965c5
7 changed files with 17 additions and 1233 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "private/themes/doom-theme"]
path = private/themes/doom-theme
url = git@github.com:hlissner/emacs-doom-theme.git

View file

@ -312,6 +312,7 @@ Examples:
(f-directories doom-modules-dir nil t)
(f-directories doom-packages-dir)
(f-directories (f-expand "../bootstrap" doom-packages-dir))
(f-directories doom-themes-dir nil t)
doom--load-path))
(message "Reloaded!"))

View file

@ -25,6 +25,7 @@
(defconst doom-private-dir (! (expand-file-name "private" doom-emacs-dir)))
(defconst doom-packages-dir (! (expand-file-name (concat ".cask/" emacs-version "/elpa") doom-emacs-dir)))
(defconst doom-ext-dir (! (expand-file-name "ext" doom-emacs-dir)))
(defconst doom-themes-dir (! (expand-file-name "themes" doom-private-dir)))
(defconst doom-temp-dir
(! (format "%s/cache/%s/%s.%s"
doom-private-dir (system-name)
@ -42,23 +43,25 @@
(defvar doom--load-path load-path
"Initial `load-path'; so we don't clobber it on consecutive reloads.")
(defsubst --subdirs (path &optional include-self)
(let ((result (if include-self (list path) (list))))
(mapc (lambda (file)
(when (file-directory-p file)
(push file result)))
(ignore-errors (directory-files path t "^[^.]" t)))
result))
;; Populate the load-path manually; cask shouldn't be an internal dependency
(setq load-path
(! (defun --subdirs (path &optional include-self)
(let ((result (if include-self (list path) (list))))
(mapc (lambda (file)
(when (file-directory-p file)
(push file result)))
(ignore-errors (directory-files path t "^[^.]" t)))
result))
(append (list doom-private-dir)
(! (append (list doom-private-dir)
(--subdirs doom-core-dir t)
(--subdirs doom-modules-dir t)
(--subdirs doom-packages-dir)
(--subdirs (expand-file-name "../bootstrap" doom-packages-dir))
(--subdirs doom-themes-dir t)
doom--load-path))
custom-theme-load-path
(! (append (list (expand-file-name "themes/" doom-private-dir))
(! (append (--subdirs doom-themes-dir t)
custom-theme-load-path)))
;;

View file

@ -1,407 +0,0 @@
;; DOOM Dark
;; By Henrik Lissner <http://github.com/hlissner/emacs.d>
(deftheme doom-dark "A dark theme for hellish emacs, inspired by Molokai")
(let* ((c '((class color)))
;; Global bold flag
(bold t)
(bg "#1E2021")
(fg "#D6D6D4")
(subtle "#aab6c7")
(vsubtle "#556172")
(vvsubtle "#354152")
(dim-highlight "#3f4b56")
(black "#000000")
(grey "#C0C5CF")
(grey-.5 "#828284")
(grey-1 "#525254")
(grey-2 "#39393D")
(white "#FFFFFF")
(white-1 "#EAEADB")
(yellow "#E2C770")
(orange "#FD971F")
(red "#E74C3C")
(magenta "#F92672")
(violet "#9C91E4")
(blue "#268BD2")
(blue+2 "#727280")
(cyan "#66D9EF")
(green "#B6E63E")
(green-3 "#86B20E")
(dark-cyan "#8FA1B3")
(light-cyan "#CBECFF")
(search-bg green)
(search-fg black)
(search-rest-bg violet)
(search-rest-fg black)
(highlight orange)
(vertical-bar grey-2)
(current-line "#181818")
;; (current-line "#262829")
(selection "#535556")
(builtin orange)
(comments grey-1)
(constants green)
(delimiters "#c0c5ce")
(functions cyan)
(keywords magenta)
(methods dark-cyan)
(operators violet)
(type cyan)
(strings green)
(variables orange)
(error-highlight red)
(linum-bg current-line)
(linum-fg "#3F3F48")
(linum-hl-fg orange)
(linum-hl-bg current-line)
(active-minibuffer "#404046")
(modeline-fg white)
(modeline-fg-2 orange)
(modeline-fg-3 orange)
(modeline-fg-inactive "#80858F")
(modeline-bg grey-2)
(modeline-bg-2 grey-2)
(modeline-bg-3 grey-2)
(modeline-bg-inactive current-line)
(vc-modified grey-2)
(vc-added green-3)
(vc-deleted red))
(custom-theme-set-faces
'doom-dark
;; Text
`(default ((,c (:foreground ,fg :background ,bg))))
`(fringe ((,c (:background ,bg :foreground ,grey-1))))
`(cursor ((,c (:background ,white))))
`(hl-line ((,c (:background ,current-line))))
`(region ((,c (:background ,grey-2 :foreground ,white))))
`(highlight ((,c (:foreground ,yellow :inverse-video t))))
`(shadow ((,c (:foreground ,orange))))
;; `(secondary-selection ((,c (:background ,orange))))
;; `(lazy-highlight ((,c (:background ,orange))))
;; `(match ((,c (:background ,magenta))))
`(minibuffer-prompt ((,c (:foreground ,orange))))
`(error ((,c (:foreground ,red ))))
`(warning ((,c (:foreground ,yellow))))
`(success ((,c (:foreground ,green ))))
`(flycheck-error ((,c (:underline (:style wave :color ,red) :background ,grey-2))))
`(flycheck-warning ((,c (:underline (:style wave :color ,yellow) :background ,grey-2))))
`(flycheck-info ((,c (:underline (:style wave :color ,green) :background ,grey-2))))
`(flyspell-incorrect ((,c (:underline (:style wave :color ,error-highlight)
:inherit unspecified))))
`(hs-face ((,c (:foreground ,comments :background ,black))))
`(hs-fringe-face ((,c (:foreground ,orange))))
`(font-lock-builtin-face ((,c (:foreground ,builtin))))
`(font-lock-comment-face ((,c (:foreground ,comments))))
`(font-lock-comment-delimiter-face ((,c (:foreground ,comments))))
`(font-lock-doc-face ((,c (:foreground ,blue+2))))
`(font-lock-doc-string-face ((,c (:foreground ,blue+2))))
`(font-lock-constant-face ((,c (:foreground ,constants))))
`(font-lock-function-name-face ((,c (:foreground ,functions))))
`(font-lock-keyword-face ((,c (:foreground ,keywords))))
`(font-lock-string-face ((,c (:foreground ,strings))))
`(font-lock-type-face ((,c (:foreground ,type))))
`(font-lock-variable-name-face ((,c (:foreground ,variables))))
`(font-lock-warning-face ((,c (:foreground ,red))))
`(font-lock-negation-char-face ((,c (:foreground ,operators :bold t))))
`(font-lock-preprocessor-char-face ((,c (:foreground ,operators :bold t))))
`(font-lock-regexp-grouping-backslash ((,c (:foreground ,operators :bold t))))
`(font-lock-regexp-grouping-construct ((,c (:foreground ,operators :bold t))))
`(bold ((,c (:weight bold :foreground ,white))))
`(italic ((,c (:slant italic :foreground ,subtle))))
`(bold-italic ((,c (:weight bold :slant italic :foreground ,white))))
`(trailing-whitespace ((,c (:background "#884444"))))
`(whitespace-tab ((,c (:foreground ,grey-2))))
`(whitespace-newline ((,c (:foreground ,grey-2))))
`(whitespace-trailing ((,c (:background ,grey-2))))
`(vertical-border ((,c (:foreground ,vertical-bar :background ,vertical-bar))))
`(linum ((,c (:foreground ,linum-fg :background ,bg :bold nil))))
`(doom-linum-highlight-face ((,c (:inherit linum :foreground ,linum-hl-fg :background ,current-line))))
`(show-paren-match ((,c (:foreground ,magenta :inverse-video t))))
;; Modeline
`(doom-minibuffer-active ((,c (:background ,active-minibuffer))))
`(mode-line ((,c (:foreground ,modeline-fg :background ,modeline-bg))))
`(mode-line-inactive ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(mode-line-is-modified ((,c (:foreground ,magenta :background nil :bold t))))
`(mode-line-buffer-file ((,c (:foreground ,white :bold t))))
`(mode-line-buffer-path ((,c (:foreground ,grey))))
`(mode-line-count-face ((,c (:foreground ,black :background ,magenta))))
`(spaceline-flycheck-error ((,c (:underline nil :foreground ,black :background ,red))))
`(spaceline-flycheck-warning ((,c (:underline nil :foreground ,black :background ,yellow))))
`(spaceline-flycheck-info ((,c (:underline nil :foreground ,black :background ,green))))
`(spaceline-highlight-face ((,c (:foreground ,black :background ,highlight))))
`(powerline-active1 ((,c (:foreground ,modeline-fg-2 :background ,modeline-bg-2))))
`(powerline-active2 ((,c (:foreground ,modeline-fg-3 :background ,modeline-bg-3))))
`(powerline-inactive1 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(powerline-inactive2 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
;; Search
`(isearch ((,c (:foreground ,search-fg :background ,search-bg))))
`(isearch-lazy-highlight-face ((,c (:foreground ,search-rest-fg :background ,search-rest-bg))))
`(doom-todo-face ((,c (:foreground ,yellow))))
`(doom-fixme-face ((,c (:foreground ,red))))
`(doom-note-face ((,c (:foreground ,cyan))))
`(evil-ex-substitute-replacement ((,c (:foreground ,magenta :background ,black :bold ,bold))))
`(evil-search-highlight-persist-highlight-face ((,c (:background ,search-rest-bg))))
;; plugin-specific
;; *****************************************************************************************
`(indent-guide-face ((,c (:foreground "#2F2F38"))))
;; highlight-{quoted,numbers,indentation}-mode
`(highlight-indentation-face ((,c (:background ,current-line))))
`(highlight-indentation-current-column-face ((,c (:background ,current-line))))
`(highlight-quoted-symbol ((,c (:foreground ,yellow))))
`(highlight-quoted-quote ((,c (:foreground ,magenta))))
`(highlight-numbers-number ((,c (:foreground ,constants))))
;; re-builder
`(reb-match-0 ((,c (:foreground ,orange :inverse-video t))))
`(reb-match-1 ((,c (:foreground ,magenta :inverse-video t))))
`(reb-match-2 ((,c (:foreground ,green :inverse-video t))))
`(reb-match-3 ((,c (:foreground ,yellow :inverse-video t))))
;; workgroups2
`(wg-current-workgroup-face ((,c (:foreground ,black :background ,orange))))
`(wg-other-workgroup-face ((,c (:foreground ,grey-.5 :background ,current-line))))
;; neotree
`(neo-root-dir-face ((,c (:foreground ,cyan))))
`(neo-file-link-face ((,c (:foreground ,white))))
`(neo-dir-link-face ((,c (:foreground ,orange))))
`(neo-expand-btn-face ((,c (:foreground ,magenta))))
;; company-mode
`(tooltip ((,c (:background ,grey-2 :foreground ,orange))))
`(company-tooltip ((,c (:background ,black :foreground ,fg))))
`(company-tooltip-common ((,c (:foreground ,orange))))
`(company-tooltip-search ((,c (:foreground ,search-fg :background ,highlight))))
`(company-tooltip-selection ((,c (:background ,selection))))
`(company-tooltip-mouse ((,c (:background ,magenta :foreground ,bg))))
`(company-scrollbar-bg ((,c (:background ,black))))
`(company-scrollbar-fg ((,c (:background ,orange))))
`(company-preview ((,c (:foreground ,orange))))
`(company-preview-common ((,c (:foreground ,magenta :background ,grey-1))))
`(company-preview-search ((,c (:inherit company-tooltip-search))))
`(popup ((,c (:inherit tooltip))))
`(popup-tip-face ((,c (:inherit tooltip))))
;; evil-snipe
`(evil-snipe-first-match-face ((,c (:foreground ,search-fg :background ,search-bg))))
`(evil-snipe-matches-face ((,c (:foreground ,search-bg :underline t))))
;; Volatile highlights
`(vhl/default-face ((,c (:background ,grey-2))))
;; VCS
`(diff-hl-change ((,c (:foreground ,vc-modified))))
`(diff-hl-delete ((,c (:foreground ,vc-deleted))))
`(diff-hl-insert ((,c (:foreground ,vc-added))))
`(git-gutter:modified ((,c (:foreground ,vc-modified))))
`(git-gutter:added ((,c (:foreground ,vc-added))))
`(git-gutter:deleted ((,c (:foreground ,vc-deleted))))
`(git-gutter+-modified ((,c (:foreground ,vc-modified :background nil))))
`(git-gutter+-added ((,c (:foreground ,vc-added :background nil))))
`(git-gutter+-deleted ((,c (:foreground ,vc-deleted :background nil))))
;; Rainbow delimiters
`(rainbow-delimiters-depth-1-face ((,c (:foreground ,magenta))))
`(rainbow-delimiters-depth-2-face ((,c (:foreground ,orange))))
`(rainbow-delimiters-depth-3-face ((,c (:foreground ,yellow))))
`(rainbow-delimiters-depth-4-face ((,c (:foreground ,green))))
`(rainbow-delimiters-depth-5-face ((,c (:foreground ,cyan))))
`(rainbow-delimiters-unmatched-face ((,c (:foreground ,red :inverse-video t))))
;; Helm
`(helm-selection ((,c (:background ,selection))))
`(helm-match ((,c (:foreground ,magenta))))
`(helm-source-header ((,c (:background ,current-line :foreground ,grey-1))))
`(helm-swoop-target-line-face ((,c (:foreground ,highlight :inverse-video t))))
`(helm-ff-file ((,c (:foreground ,grey))))
`(helm-ff-prefix ((,c (:foreground ,magenta))))
`(helm-ff-dotted-directory ((,c (:foreground ,grey-1))))
`(helm-ff-directory ((,c (:foreground ,orange))))
`(helm-ff-executable ((,c (:foreground ,white :slant italic))))
;; Avy
`(avy-lead-face-0 ((,c (:background ,orange :foreground ,black))))
`(avy-lead-face-1 ((,c (:background ,orange :foreground ,black))))
`(avy-lead-face-2 ((,c (:background ,orange :foreground ,black))))
`(avy-lead-face ((,c (:background ,orange :foreground ,black))))
;; lang-specific
;; *****************************************************************************************
;; (css|scss)-mode
`(css-proprietary-property ((,c (:foreground ,keywords))))
;; js2-mode
`(js2-function-param ((,c (:foreground ,variables))))
`(js2-function-call ((,c (:foreground ,functions))))
`(js2-object-property ((,c (:foreground ,methods))))
`(js2-jsdoc-tag ((,c (:foreground ,comments))))
;; web-mode
`(web-mode-doctype-face ((,c (:foreground ,comments))))
`(web-mode-html-tag-face ((,c (:foreground ,methods))))
`(web-mode-html-tag-bracket-face ((,c (:foreground ,methods))))
`(web-mode-html-attr-name-face ((,c (:foreground ,type))))
`(web-mode-html-entity-face ((,c (:foreground ,cyan :italic t))))
`(web-mode-block-control-face ((,c (:foreground ,orange))))
;; `(web-mode-html-tag-bracket-face ((,c (:foreground ,operators))))
;; markdown-mode
`(markdown-header-face ((,c (:foreground ,orange))))
`(markdown-header-delimiter-face ((,c (:foreground ,orange))))
`(markdown-blockquote-face ((,c (:foreground ,blue+2))))
`(markdown-markup-face ((,c (:foreground ,cyan))))
`(markdown-inline-face ((,c (:foreground ,cyan))))
`(markdown-list-face ((,c (:foreground ,magenta))))
`(markdown-pre-face ((,c (:foreground ,cyan))))
`(markdown-header-face-1 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-2 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-3 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-4 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-5 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-6 ((,c (:inherit markdown-header-face))))
;; `(markdown-header-rule-face (:inherit shadow))
;; `(markdown-italic-face (:inherit italic))
;; `(markdown-link-face (:inherit shadow))
;; `(markdown-link-title-face (:inherit link))
;; `(markdown-url-face (:inherit link))
;; org-mode
`(variable-pitch ((,c (:font "Proxima Nova"))))
`(fixed-pitch ((,c (:font "DejaVu Sans Mono" :height 1.0))))
`(org-tag ((,c (:foreground ,yellow :bold nil))))
;; `(org-ellipsis ((,c (:inherit hs-face))))
`(org-hide ((,c (:foreground ,bg))))
`(org-table ((,c (:foreground ,cyan))))
`(org-quote ((,c (:slant italic :foreground ,grey :background ,current-line))))
`(org-document-info ((,c (:foreground ,orange))))
`(org-document-info-keyword ((,c (:foreground ,grey-1))))
`(org-meta-line ((,c (:foreground ,vsubtle))))
`(org-block-begin-line ((,c (:background ,current-line :foreground ,vsubtle))))
`(org-block-end-line ((,c (:inherit org-block-begin-line))))
`(org-block-background ((,c (:background ,current-line))))
`(org-archived ((,c (:foreground ,grey-.5))))
`(org-document-title ((,c (:foreground ,cyan))))
`(org-level-1 ((,c (:background ,current-line :foreground ,magenta :bold ,bold))))
`(org-level-2 ((,c ( :foreground ,dark-cyan :bold ,bold))))
`(org-level-3 ((,c ( :foreground ,violet :bold ,bold))))
`(org-level-4 ((,c ( :foreground ,green :bold ,bold))))
`(org-level-5 ((,c ( :foreground ,yellow))))
`(org-level-6 ((,c ( :foreground ,blue+2))))
;; `(org-level-2 ((,c ( :foreground ,orange :bold ,bold))))
;; `(org-level-3 ((,c ( :foreground ,orange :bold ,bold))))
;; `(org-level-4 ((,c ( :foreground ,orange :bold ,bold))))
;; `(org-level-5 ((,c ( :foreground ,orange))))
;; `(org-level-6 ((,c ( :foreground ,orange))))
;;`(org-level-7 ((,c ())))
;;`(org-level-8 ((,c ())))
;;`(org-checkbox ((,class (:box (:line-width 1 :style released-button)))))
`(org-code ((,c (:foreground ,orange))))
`(org-verbatim ((,c (:foreground ,green))))
`(org-formula ((,c (:foreground ,cyan))))
`(org-list-dt ((,c (:foreground ,cyan))))
`(org-footnote ((,c (:foreground ,orange))))
`(org-link ((,c (:underline t :foreground ,cyan :bold inherit))))
`(org-date ((,c (:foreground ,violet))))
`(org-todo ((,c (:foreground ,yellow :bold inherit))))
`(org-done ((,c (:foreground ,green :bold inherit))))
`(org-headline-done ((,c (:foreground ,grey-.5 :strike-through t :bold nil))))
`(org-special-keyword ((,c (:foreground ,magenta))))
`(org-checkbox-statistics-todo ((,c (:inherit org-todo))))
`(org-checkbox-statistics-done ((,c (:inherit org-done))))
;; DOOM custom org faces
`(org-headline-todo ((,c (:bold nil))))
`(org-block ((,c (:background ,current-line))))
`(org-block-background ((,c (:background ,current-line))))
`(org-todo-high ((,c (:foreground ,orange :bold inherit))))
`(org-todo-vhigh ((,c (:foreground ,magenta :bold inherit))))
`(org-list-bullet ((,c (:foreground ,orange :bold ,bold))))
`(org-whitespace ((,c (:inherit fixed-pitch))))
`(org-todo-checkbox ((,c (:inherit variable-pitch))))
)
;; *****************************************************************************************
(require 'dash)
;; Color helper functions
;; Shamelessly *borrowed* from solarized
(defun --color-name-to-rgb (color &optional frame)
(mapcar (lambda (x) (/ x (float (car (color-values "#ffffff")))))
(color-values color frame)))
(defun --color-blend (color1 color2 alpha)
(apply (lambda (r g b) (format "#%02x%02x%02x" (* r 255) (* g 255) (* b 255)))
(--zip-with (+ (* alpha it) (* other (- 1 alpha)))
(--color-name-to-rgb color1)
(--color-name-to-rgb color2))))
(custom-theme-set-variables
'doom-dark
`(vc-annotate-color-map
'((20 . ,green)
(40 . ,(--color-blend yellow green (/ 1.0 3)))
(60 . ,(--color-blend yellow green (/ 2.0 3)))
(80 . ,yellow)
(100 . ,(--color-blend orange yellow (/ 1.0 3)))
(120 . ,(--color-blend orange yellow (/ 2.0 3)))
(140 . ,orange)
(160 . ,(--color-blend magenta orange (/ 1.0 3)))
(180 . ,(--color-blend magenta orange (/ 2.0 3)))
(200 . ,magenta)
(220 . ,(--color-blend red magenta (/ 1.0 3)))
(240 . ,(--color-blend red magenta (/ 2.0 3)))
(260 . ,red)
(280 . ,(--color-blend grey-2 red (/ 1.0 4)))
(300 . ,(--color-blend grey-2 red (/ 2.0 4)))
(320 . ,(--color-blend grey-2 red (/ 3.0 4)))
(340 . ,grey-2)
(360 . ,grey-2)))
`(vc-annotate-very-old-color nil)
`(vc-annotate-background ,black)))
;; *****************************************************************************************
(provide-theme 'doom-dark)
;; Local Variables:
;; no-byte-compile: t
;; End:

View file

@ -1,408 +0,0 @@
;;; doom-one-light-theme.el
(deftheme doom-one-light
"A dark theme for hellish emacs, inspired by Atom One Light")
;; Color helper functions
;; Shamelessly *borrowed* from solarized
(defun doom-name-to-rgb (color &optional frame)
(mapcar (lambda (x) (/ x (float (car (color-values "#ffffff")))))
(color-values color frame)))
(defun doom-blend (color1 color2 alpha)
(apply (lambda (r g b) (format "#%02x%02x%02x" (* r 255) (* g 255) (* b 255)))
(--zip-with (+ (* alpha it) (* other (- 1 alpha)))
(doom-name-to-rgb color1)
(doom-name-to-rgb color2))))
(defun doom-darken (color alpha)
(doom-blend color "#000000" (- 1 alpha)))
(defun doom-lighten (color alpha)
(doom-blend color "#FFFFFF" (- 1 alpha)))
(when window-system
(defface doom-default '((t (:inherit default)))
"Face for source code windows."
:group 'doom)
(defface doom-fringe '((t (:inherit doom-default)))
"Face for source code window fringes."
:group 'doom)
(defface doom-minibuffer-active '((t (:inherit mode-line)))
"Face for active minibuffer. See `doom-enable-bright-minibuffer'."
:group 'doom)
(defface doom-linum '((t (:inherit linum)))
"Another linum face for darker windows (like popups)."
:group 'doom)
(defface doom-nlinum-highlight '((t (:inherit linum)))
"A face for the nlinum overlay on the current line."
:group 'doom)
;; Brighten up code buffers; darken special and popup buffers
(put 'face-remapping-alist 'permanent-local t)
(make-variable-buffer-local 'face-remapping-alist)
(defun doom|brighten-buffer (&rest _)
(setq-local face-remapping-alist
'((default doom-default)
(fringe doom-default)
(linum doom-linum))))
(add-hook 'find-file-hook 'doom|brighten-buffer)
;; Brighter minibuffer when active + no fringe in minibuffer
(defun doom|brighten-minibuffer ()
(with-selected-window (minibuffer-window)
(setq-local face-remapping-alist
'((default doom-minibuffer-active)))))
(add-hook 'minibuffer-setup-hook 'doom|brighten-minibuffer))
(let ((c '((class color) (min-colors 89)))
(bold t)
(italic t)
(black "#373a42")
(white "#FFFFFF")
(grey "#373a47")
(grey-l "#d0d0d1")
(grey-d "#586470")
(grey-dd "#20272e")
(yellow "#E2C770")
(yellow-d "#CDB464")
(orange "#E69055")
(red "#ff665c")
(magenta "#DC79DC")
(violet "#9C91E4")
(violet-d "#7C71C4")
(cyan "#46D9FF")
(cyan-d "#8FA1B3")
(blue "#0087bc")
(blue-l "#007ff3")
(blue-d "#00437F")
(green "#7bc275")
(green-d "#86B20E"))
(let* ((bg "#fafafa")
(bg-l "#dadadb")
(bg-d "#f2f2f2")
(fg "#282929")
(highlight blue)
(vertical-bar "#d1d1d2")
(current-line bg-d)
(selection blue-d)
(builtin magenta)
(comments grey-l)
(doc-comments "#7F7F8A")
(constants green)
(delimiters violet)
(functions blue)
(keywords blue)
(methods cyan-d)
(operators magenta)
(type yellow)
(strings green)
(variables cyan)
;; main search regions
(search-bg blue)
(search-fg black)
;; other search regions
(search-rest-bg grey-d)
(search-rest-fg blue)
;; line number column
(linum-bg bg-d)
(linum-fg grey-l)
(linum-hl-bg bg-d)
(linum-hl-fg grey-d)
;; mode line
(modeline-fg grey-d)
(modeline-fg-l blue)
(modeline-bg bg-d)
(modeline-fg-inactive grey)
(modeline-bg-inactive grey-l)
;; vcs
(vc-modified yellow-d)
(vc-added green)
(vc-deleted red))
(custom-theme-set-faces
'doom-one-light
;; Doom faces
`(doom-default ((,c (:inherit default :background ,bg))))
`(doom-minibuffer-active ((,c (:background ,bg))))
`(doom-linum ((,c (:inherit linum :background ,bg))))
`(doom-nlinum-highlight ((,c (:inherit linum :foreground ,linum-hl-fg :background ,current-line))))
`(doom-flycheck-error ((,c (:underline nil :foreground ,black :background ,red))))
`(doom-flycheck-warning ((,c (:underline nil :foreground ,black :background ,yellow))))
`(doom-flycheck-info ((,c (:underline nil :foreground ,black :background ,green))))
;; Base
`(bold ((,c (:weight ,(if bold 'bold 'normal)))))
`(italic ((,c (:slant ,(if italic 'italic 'normal)))))
`(bold-italic ((,c (:weight ,(if bold 'bold 'normal) :slant ,(if italic 'italic 'normal) :foreground ,white))))
;; Global
`(default ((,c (:background ,bg-d :foreground ,fg))))
`(fringe ((,c (:inherit doom-default :foreground ,comments))))
`(region ((,c (:background ,selection :foreground ,white))))
`(highlight ((,c (:background ,blue :foreground ,black))))
`(hl-line ((,c (:background ,current-line))))
`(cursor ((,c (:background ,white))))
`(shadow ((,c (:foreground ,violet))))
`(minibuffer-prompt ((,c (:foreground ,blue))))
`(tooltip ((,c (:background ,black :foreground ,fg))))
`(error ((,c (:foreground ,red))))
`(warning ((,c (:foreground ,yellow))))
`(success ((,c (:foreground ,green))))
;;`(secondary-selection ((,c (:background ,orange))))
;;`(lazy-highlight ((,c (:background ,orange))))
`(match ((,c (:foreground ,magenta :background ,black :bold ,bold))))
`(trailing-whitespace ((,c (:background ,doc-comments))))
`(vertical-border ((,c (:foreground ,vertical-bar :background ,vertical-bar))))
`(show-paren-match ((,c (:foreground ,magenta :inverse-video t))))
`(linum ((,c (:foreground ,linum-fg :background ,bg-d :bold nil))))
`(font-lock-builtin-face ((,c (:foreground ,builtin))))
`(font-lock-comment-face ((,c (:foreground ,comments))))
`(font-lock-comment-delimiter-face ((,c (:foreground ,comments))))
`(font-lock-doc-face ((,c (:foreground ,doc-comments))))
`(font-lock-doc-string-face ((,c (:foreground ,doc-comments))))
`(font-lock-constant-face ((,c (:foreground ,constants))))
`(font-lock-function-name-face ((,c (:foreground ,functions))))
`(font-lock-keyword-face ((,c (:foreground ,keywords))))
`(font-lock-string-face ((,c (:foreground ,strings))))
`(font-lock-type-face ((,c (:foreground ,type))))
`(font-lock-variable-name-face ((,c (:foreground ,variables))))
`(font-lock-warning-face ((,c (:inherit warning))))
`(font-lock-negation-char-face ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-preprocessor-char-face ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-regexp-grouping-backslash ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-regexp-grouping-construct ((,c (:foreground ,operators :bold ,bold))))
;; Modeline
`(mode-line ((,c (:foreground ,modeline-fg :background ,modeline-bg))))
`(mode-line-inactive ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(spaceline-highlight-face ((,c (:foreground ,black :background ,yellow))))
`(powerline-active1 ((,c (:foreground ,modeline-fg-l :background ,modeline-bg))))
`(powerline-active2 ((,c (:foreground ,modeline-fg-l :background ,modeline-bg))))
`(powerline-inactive1 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(powerline-inactive2 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
;; Custom modeline faces
`(mode-line-is-modified ((,c (:foreground ,red :bold ,bold))))
`(mode-line-buffer-file ((,c (:foreground ,modeline-fg :bold ,bold))))
`(mode-line-buffer-path ((,c (:foreground ,modeline-fg-l))))
`(mode-line-count-face ((,c (:foreground ,black :background ,modeline-fg-l))))
`(mode-line-vcs-info ((,c (:inherit success))))
`(mode-line-vcs-warning ((,c (:inherit error))))
;; Search
`(isearch ((,c (:foreground ,search-fg :background ,search-bg))))
`(isearch-lazy-highlight-face ((,c (:foreground ,search-rest-fg :background ,search-rest-bg))))
;;
;; Plugins
;;
;; whitespace
`(whitespace-tab ((,c (:foreground ,grey-d))))
`(whitespace-newline ((,c (:foreground ,grey-d))))
`(whitespace-trailing ((,c (:background ,grey-d))))
`(whitespace-line ((,c (:background ,current-line :foreground ,magenta))))
;; hide-show
`(hs-face ((,c (:foreground ,comments :background ,black))))
`(hs-fringe-face ((,c (:foreground ,blue))))
;; flycheck
`(flycheck-error ((,c (:underline (:style wave :color ,red) :background ,bg-d))))
`(flycheck-warning ((,c (:underline (:style wave :color ,yellow) :background ,bg-d))))
`(flycheck-info ((,c (:underline (:style wave :color ,green) :background ,bg-d))))
`(flyspell-incorrect ((,c (:underline (:style wave :color ,red) :inherit unspecified))))
;; indent-guide, highlight-{quoted,numbers,indentation}-mode
`(indent-guide-face ((,c (:foreground "#2F2F38"))))
`(highlight-indentation-face ((,c (:background "#222830"))))
`(highlight-indentation-current-column-face ((,c (:background "#222830"))))
`(highlight-indentation-guides-odd-face ((,c (:background ,bg))))
`(highlight-indentation-guides-even-face ((,c (:background "#222830"))))
`(highlight-quoted-symbol ((,c (:foreground ,type))))
`(highlight-quoted-quote ((,c (:foreground ,operators))))
`(highlight-numbers-number ((,c (:foreground ,constants))))
;; re-builder
`(reb-match-0 ((,c (:foreground ,orange :inverse-video t))))
`(reb-match-1 ((,c (:foreground ,magenta :inverse-video t))))
`(reb-match-2 ((,c (:foreground ,green :inverse-video t))))
`(reb-match-3 ((,c (:foreground ,yellow :inverse-video t))))
;; workgroups2
`(wg-current-workgroup-face ((,c (:foreground ,black :background ,blue))))
`(wg-other-workgroup-face ((,c (:foreground ,grey-l :background ,current-line))))
`(wg-divider-face ((,c (:foreground ,grey-d))))
`(wg-brace-face ((,c (:foreground ,blue))))
;; neotree
`(neo-root-dir-face ((,c (:foreground ,green))))
`(neo-file-link-face ((,c (:foreground ,fg))))
`(neo-dir-link-face ((,c (:foreground ,blue))))
`(neo-expand-btn-face ((,c (:foreground ,blue))))
;; company-mode
`(company-tooltip ((,c (:inherit tooltip))))
`(company-tooltip-common ((,c (:foreground ,blue))))
`(company-tooltip-search ((,c (:foreground ,search-fg :background ,highlight))))
`(company-tooltip-selection ((,c (:background ,selection))))
`(company-tooltip-mouse ((,c (:background ,magenta :foreground ,bg))))
`(company-tooltip-annotation ((,c (:foreground ,violet))))
`(company-scrollbar-bg ((,c (:background ,black))))
`(company-scrollbar-fg ((,c (:background ,blue))))
`(company-preview ((,c (:foreground ,blue))))
`(company-preview-common ((,c (:foreground ,magenta :background ,grey-d))))
`(company-preview-search ((,c (:inherit company-tooltip-search))))
;; pos-tip
`(popup ((,c (:inherit tooltip))))
`(popup-tip-face ((,c (:inherit tooltip))))
;; evil-mode
`(evil-ex-substitute-replacement ((,c (:inherit match))))
`(evil-search-highlight-persist-highlight-face ((,c (:inherit isearch-lazy-highlight-face))))
;; evil-snipe
`(evil-snipe-first-match-face ((,c (:foreground ,search-fg :background ,search-bg))))
`(evil-snipe-matches-face ((,c (:foreground ,search-bg :underline t))))
;; Volatile highlights
`(vhl/default-face ((,c (:background ,grey-d))))
;; VCS
`(diff-hl-change ((,c (:foreground ,vc-modified))))
`(diff-hl-delete ((,c (:foreground ,vc-deleted))))
`(diff-hl-insert ((,c (:foreground ,vc-added))))
`(git-gutter:modified ((,c (:foreground ,vc-modified))))
`(git-gutter:added ((,c (:foreground ,vc-added))))
`(git-gutter:deleted ((,c (:foreground ,vc-deleted))))
`(git-gutter+-modified ((,c (:foreground ,vc-modified :background nil))))
`(git-gutter+-added ((,c (:foreground ,vc-added :background nil))))
`(git-gutter+-deleted ((,c (:foreground ,vc-deleted :background nil))))
;; Rainbow delimiters
`(rainbow-delimiters-depth-1-face ((,c (:foreground ,blue))))
`(rainbow-delimiters-depth-2-face ((,c (:foreground ,magenta))))
`(rainbow-delimiters-depth-3-face ((,c (:foreground ,green))))
`(rainbow-delimiters-depth-4-face ((,c (:foreground ,orange))))
`(rainbow-delimiters-depth-5-face ((,c (:foreground ,violet))))
`(rainbow-delimiters-unmatched-face ((,c (:foreground ,red :inverse-video t))))
;; Helm
`(helm-selection ((,c (:background ,selection :foreground ,fg))))
`(helm-match ((,c (:foreground ,magenta :bold ,bold))))
`(helm-source-header ((,c (:background ,current-line :foreground ,grey-l))))
`(helm-swoop-target-line-face ((,c (:foreground ,highlight :inverse-video t))))
`(helm-ff-file ((,c (:foreground ,fg))))
`(helm-ff-prefix ((,c (:foreground ,magenta))))
`(helm-ff-dotted-directory ((,c (:foreground ,grey-d))))
`(helm-ff-directory ((,c (:foreground ,orange))))
`(helm-ff-executable ((,c (:foreground ,white :slant italic))))
;; Avy
`(avy-lead-face-0 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face-1 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face-2 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face ((,c (:background ,search-bg :foreground ,search-fg))))
;; which-key
`(which-key-key-face ((,c (:foreground ,green))))
`(which-key-group-description-face ((,c (:foreground ,violet))))
`(which-key-command-description-face ((,c (:foreground ,blue))))
`(which-key-local-map-description-face ((,c (:foreground ,magenta))))
;;
;; Language-specific
;;
;; (css|scss)-mode
`(css-proprietary-property ((,c (:foreground ,keywords))))
;; js2-mode
`(js2-function-param ((,c (:foreground ,variables))))
`(js2-function-call ((,c (:foreground ,functions))))
`(js2-object-property ((,c (:foreground ,methods))))
`(js2-jsdoc-tag ((,c (:foreground ,comments))))
;; web-mode
`(web-mode-doctype-face ((,c (:foreground ,comments))))
`(web-mode-html-tag-face ((,c (:foreground ,methods))))
`(web-mode-html-tag-bracket-face ((,c (:foreground ,methods))))
`(web-mode-html-attr-name-face ((,c (:foreground ,type))))
`(web-mode-html-entity-face ((,c (:foreground ,cyan :italic t))))
`(web-mode-block-control-face ((,c (:foreground ,orange))))
;;`(web-mode-html-tag-bracket-face ((,c (:foreground ,operators))))
;; markdown-mode
`(markdown-header-face ((,c (:foreground ,blue :bold ,bold))))
`(markdown-header-delimiter-face ((,c (:inherit markdown-header-face))))
`(markdown-blockquote-face ((,c (:foreground ,violet))))
`(markdown-markup-face ((,c (:foreground ,operators))))
`(markdown-pre-face ((,c (:inherit markdown-markup-face))))
`(markdown-inline-face ((,c (:foreground ,cyan))))
`(markdown-list-face ((,c (:foreground ,magenta))))
`(markdown-link-face ((,c (:foreground ,yellow :bold nil))))
`(markdown-url-face ((,c (:foreground ,green :bold nil))))
`(markdown-header-face-1 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-2 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-3 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-4 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-5 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-6 ((,c (:inherit markdown-header-face))))
;;`(markdown-header-rule-face (:inherit shadow))
;;`(markdown-italic-face (:inherit italic))
;;`(markdown-link-face (:inherit shadow))
;;`(markdown-link-title-face (:inherit link))
;;`(markdown-url-face (:inherit link))
;; org-mode
`(org-tag ((,c (:foreground ,yellow :bold nil))))
;;`(org-ellipsis ((,c (:inherit hs-face))))
`(org-hide ((,c (:foreground ,bg))))
`(org-table ((,c (:foreground ,cyan))))
`(org-quote ((,c (:slant italic :foreground ,grey-l :background ,current-line))))
`(org-document-info ((,c (:foreground ,orange))))
`(org-document-info-keyword ((,c (:foreground ,grey-d))))
`(org-meta-line ((,c (:foreground ,doc-comments))))
`(org-block-begin-line ((,c (:background ,current-line :foreground ,doc-comments))))
`(org-block-end-line ((,c (:inherit org-block-begin-line))))
`(org-block-background ((,c (:background ,current-line))))
`(org-archived ((,c (:foreground ,grey-l))))
`(org-document-title ((,c (:foreground ,cyan))))
`(org-level-1 ((,c (:background ,current-line :foreground ,magenta :bold ,bold))))
`(org-level-2 ((,c ( :foreground ,cyan-d :bold ,bold))))
`(org-level-3 ((,c ( :foreground ,violet :bold ,bold))))
`(org-level-4 ((,c ( :foreground ,green :bold ,bold))))
`(org-level-5 ((,c ( :foreground ,yellow))))
`(org-level-6 ((,c ( :foreground ,blue))))
`(org-code ((,c (:foreground ,orange))))
`(org-verbatim ((,c (:foreground ,green))))
`(org-formula ((,c (:foreground ,cyan))))
`(org-list-dt ((,c (:foreground ,cyan))))
`(org-footnote ((,c (:foreground ,orange))))
`(org-link ((,c (:foreground ,cyan :bold inherit :underline t))))
`(org-date ((,c (:foreground ,violet))))
`(org-todo ((,c (:foreground ,yellow :bold inherit))))
`(org-done ((,c (:foreground ,green :bold inherit))))
`(org-headline-done ((,c (:foreground ,grey-l :bold nil :strike-through t))))
`(org-special-keyword ((,c (:foreground ,magenta))))
`(org-checkbox-statistics-todo ((,c (:inherit org-todo))))
`(org-checkbox-statistics-done ((,c (:inherit org-done))))
)
(custom-theme-set-variables
'doom-one-light
`(vc-annotate-color-map
'((20 . ,green)
(40 . ,(doom-blend yellow green (/ 1.0 3)))
(60 . ,(doom-blend yellow green (/ 2.0 3)))
(80 . ,yellow)
(100 . ,(doom-blend orange yellow (/ 1.0 3)))
(120 . ,(doom-blend orange yellow (/ 2.0 3)))
(140 . ,orange)
(160 . ,(doom-blend magenta orange (/ 1.0 3)))
(180 . ,(doom-blend magenta orange (/ 2.0 3)))
(200 . ,magenta)
(220 . ,(doom-blend red magenta (/ 1.0 3)))
(240 . ,(doom-blend red magenta (/ 2.0 3)))
(260 . ,red)
(280 . ,(doom-blend grey red (/ 1.0 4)))
(300 . ,(doom-blend grey red (/ 2.0 4)))
(320 . ,(doom-blend grey red (/ 3.0 4)))
(340 . ,grey)
(360 . ,grey)))
`(vc-annotate-very-old-color nil)
`(vc-annotate-background ,black))))
(provide-theme 'doom-one-light)
;; Local Variables:
;; no-byte-compile: t
;; End:

View file

@ -1,409 +0,0 @@
;;; doom-one-theme.el
(deftheme doom-one
"A dark theme for hellish emacs, inspired by Atom One Dark")
;; Color helper functions
;; Shamelessly *borrowed* from solarized
(defun doom-name-to-rgb (color &optional frame)
(mapcar (lambda (x) (/ x (float (car (color-values "#ffffff")))))
(color-values color frame)))
(defun doom-blend (color1 color2 alpha)
(apply (lambda (r g b) (format "#%02x%02x%02x" (* r 255) (* g 255) (* b 255)))
(--zip-with (+ (* alpha it) (* other (- 1 alpha)))
(doom-name-to-rgb color1)
(doom-name-to-rgb color2))))
(defun doom-darken (color alpha)
(doom-blend color "#000000" (- 1 alpha)))
(defun doom-lighten (color alpha)
(doom-blend color "#FFFFFF" (- 1 alpha)))
(when window-system
(defface doom-default '((t (:inherit default)))
"Face for source code windows."
:group 'doom)
(defface doom-minibuffer-active '((t (:inherit mode-line)))
"Face for active minibuffer. See `doom-enable-bright-minibuffer'."
:group 'doom)
(defface doom-linum '((t (:inherit linum)))
"Another linum face for darker windows (like popups)."
:group 'doom)
(defface doom-nlinum-highlight '((t (:inherit linum)))
"A face for the nlinum overlay on the current line."
:group 'doom)
;; Brighten up code buffers; darken special and popup buffers
(put 'face-remapping-alist 'permanent-local t)
(make-variable-buffer-local 'face-remapping-alist)
(defun doom|brighten-buffer (&rest _)
(setq-local face-remapping-alist
'((default doom-default)
(linum doom-linum))))
(add-hook 'find-file-hook 'doom|brighten-buffer)
;; Brighter minibuffer when active + no fringe in minibuffer
(defun doom|brighten-minibuffer ()
(with-selected-window (minibuffer-window)
(setq-local face-remapping-alist
'((default doom-minibuffer-active)))))
(add-hook 'minibuffer-setup-hook 'doom|brighten-minibuffer))
(let ((c '((class color) (min-colors 89)))
(bold t)
(italic t)
(black "#141a22")
(white "#FFFFFF")
(grey "#C0C5CF")
(grey-l "#586470")
(grey-d "#3F3F48")
(grey-dd "#20272e")
(yellow "#E2C770")
(yellow-d "#CDB464")
(orange "#E69055")
(red "#ff665c")
(magenta "#DC79DC")
(violet "#9C91E4")
(violet-d "#7C71C4")
(cyan "#46D9FF")
(cyan-d "#8FA1B3")
(blue "#00B3EF")
(blue-l "#40D3FF")
(blue-d "#00437F")
(green "#7bc275")
(green-d "#86B20E"))
(let* ((bg "#262c34")
(bg-l "#2b323a")
(bg-d "#1f252b")
(fg "#d5dae0")
(highlight blue)
(vertical-bar black)
(current-line bg-d)
(selection blue-d)
(builtin magenta)
(comments grey-l)
(doc-comments "#7F7F8A")
(constants green)
(delimiters violet)
(functions cyan)
(keywords blue)
(methods cyan-d)
(operators magenta)
(type yellow)
(strings green)
(variables cyan)
;; main search regions
(search-bg blue)
(search-fg black)
;; other search regions
(search-rest-bg grey-d)
(search-rest-fg blue)
;; line number column
(linum-bg bg-d)
(linum-fg (doom-darken cyan-d 0.55))
(linum-hl-fg blue)
(linum-hl-bg bg-d)
;; mode line
(modeline-fg white)
(modeline-fg-l blue)
(modeline-bg bg-d)
(modeline-fg-inactive grey-l)
(modeline-bg-inactive grey-dd)
;; vcs
(vc-modified yellow-d)
(vc-added green)
(vc-deleted red))
(custom-theme-set-faces
'doom-one
;; Doom faces
`(doom-default ((,c (:inherit default :background ,bg))))
`(doom-minibuffer-active ((,c (:background ,bg))))
`(doom-linum ((,c (:inherit linum :background ,bg))))
`(doom-nlinum-highlight ((,c (:background ,current-line :foreground ,linum-hl-fg :bold nil))))
`(doom-flycheck-error ((,c (:underline nil :foreground ,black :background ,red))))
`(doom-flycheck-warning ((,c (:underline nil :foreground ,black :background ,yellow))))
`(doom-flycheck-info ((,c (:underline nil :foreground ,black :background ,green))))
;; Base
`(bold ((,c (:weight ,(if bold 'bold 'normal)))))
`(italic ((,c (:slant ,(if italic 'italic 'normal)))))
`(bold-italic ((,c (:weight ,(if bold 'bold 'normal) :slant ,(if italic 'italic 'normal) :foreground ,white))))
;; Global
`(default ((,c (:background ,bg-d :foreground ,fg))))
`(fringe ((,c (:inherit doom-default))))
`(region ((,c (:background ,blue-d :bold ,bold))))
`(highlight ((,c (:background ,blue :foreground ,black))))
`(hl-line ((,c (:background ,current-line))))
`(cursor ((,c (:background ,white))))
`(shadow ((,c (:foreground ,violet))))
`(minibuffer-prompt ((,c (:foreground ,blue))))
`(tooltip ((,c (:background ,black :foreground ,fg))))
`(error ((,c (:foreground ,red))))
`(warning ((,c (:foreground ,yellow))))
`(success ((,c (:foreground ,green))))
;;`(secondary-selection ((,c (:background ,orange))))
`(lazy-highlight ((,c (:background ,blue-d))))
`(match ((,c (:foreground ,green :background ,black :bold ,bold))))
`(trailing-whitespace ((,c (:background ,doc-comments))))
`(vertical-border ((,c (:foreground ,vertical-bar :background ,vertical-bar))))
`(show-paren-match ((,c (:foreground ,blue :inverse-video t))))
`(linum ((,c (:background ,bg-d :foreground ,linum-fg :bold nil))))
`(font-lock-builtin-face ((,c (:foreground ,builtin))))
`(font-lock-comment-face ((,c (:foreground ,comments))))
`(font-lock-comment-delimiter-face ((,c (:foreground ,comments))))
`(font-lock-doc-face ((,c (:foreground ,doc-comments))))
`(font-lock-doc-string-face ((,c (:foreground ,doc-comments))))
`(font-lock-constant-face ((,c (:foreground ,constants))))
`(font-lock-function-name-face ((,c (:foreground ,functions))))
`(font-lock-keyword-face ((,c (:foreground ,keywords))))
`(font-lock-string-face ((,c (:foreground ,strings))))
`(font-lock-type-face ((,c (:foreground ,type))))
`(font-lock-variable-name-face ((,c (:foreground ,variables))))
`(font-lock-warning-face ((,c (:inherit warning))))
`(font-lock-negation-char-face ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-preprocessor-char-face ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-regexp-grouping-backslash ((,c (:foreground ,operators :bold ,bold))))
`(font-lock-regexp-grouping-construct ((,c (:foreground ,operators :bold ,bold))))
;; Modeline
`(mode-line ((,c (:foreground ,modeline-fg :background ,modeline-bg))))
`(mode-line-inactive ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(spaceline-highlight-face ((,c (:foreground ,black :background ,yellow))))
`(powerline-active1 ((,c (:foreground ,modeline-fg-l :background ,modeline-bg))))
`(powerline-active2 ((,c (:foreground ,modeline-fg-l :background ,modeline-bg))))
`(powerline-inactive1 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
`(powerline-inactive2 ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
;; Custom modeline faces
`(mode-line-is-modified ((,c (:foreground ,red :bold ,bold))))
`(mode-line-buffer-file ((,c (:foreground ,modeline-fg :bold ,bold))))
`(mode-line-buffer-path ((,c (:foreground ,modeline-fg-l))))
`(mode-line-count-face ((,c (:foreground ,black :background ,modeline-fg-l))))
`(mode-line-vcs-info ((,c (:inherit success))))
`(mode-line-vcs-warning ((,c (:inherit error))))
;; Search
`(isearch ((,c (:foreground ,search-bg :inverse-video t))))
`(isearch-lazy-highlight-face ((,c (:background ,search-rest-bg))))
`(yas-field-highlight-face ((,c (:inherit match))))
;;
;; Plugins
;;
;; Avy
`(avy-lead-face-0 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face-1 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face-2 ((,c (:background ,search-bg :foreground ,search-fg))))
`(avy-lead-face ((,c (:background ,search-bg :foreground ,search-fg))))
;; company-mode
`(company-tooltip ((,c (:inherit tooltip))))
`(company-tooltip-common ((,c (:foreground ,blue))))
`(company-tooltip-search ((,c (:foreground ,search-fg :background ,highlight))))
`(company-tooltip-selection ((,c (:background ,selection))))
`(company-tooltip-mouse ((,c (:background ,magenta :foreground ,bg))))
`(company-tooltip-annotation ((,c (:foreground ,violet))))
`(company-scrollbar-bg ((,c (:background ,black))))
`(company-scrollbar-fg ((,c (:background ,blue))))
`(company-preview ((,c (:foreground ,blue))))
`(company-preview-common ((,c (:foreground ,magenta :background ,grey-d))))
`(company-preview-search ((,c (:inherit company-tooltip-search))))
;; diff-hl
`(diff-hl-change ((,c (:foreground ,vc-modified))))
`(diff-hl-delete ((,c (:foreground ,vc-deleted))))
`(diff-hl-insert ((,c (:foreground ,vc-added))))
;; evil-mode
`(evil-ex-substitute-matches ((,c (:background ,black :foreground ,red :strike-through t :bold ,bold))))
`(evil-ex-substitute-replacement ((,c (:background ,black :foreground ,green :bold ,bold))))
`(evil-search-highlight-persist-highlight-face ((,c (:inherit isearch-lazy-highlight-face))))
;; evil-snipe
`(evil-snipe-first-match-face ((,c (:foreground ,search-bg :background ,blue-d))))
`(evil-snipe-matches-face ((,c (:foreground ,search-bg :underline t :bold ,bold))))
;; flycheck
`(flycheck-error ((,c (:underline (:style wave :color ,red) :background ,bg-d))))
`(flycheck-warning ((,c (:underline (:style wave :color ,yellow) :background ,bg-d))))
`(flycheck-info ((,c (:underline (:style wave :color ,green) :background ,bg-d))))
`(flyspell-incorrect ((,c (:underline (:style wave :color ,red) :inherit unspecified))))
;; git-gutter
`(git-gutter:modified ((,c (:foreground ,vc-modified))))
`(git-gutter:added ((,c (:foreground ,vc-added))))
`(git-gutter:deleted ((,c (:foreground ,vc-deleted))))
`(git-gutter+-modified ((,c (:foreground ,vc-modified))))
`(git-gutter+-added ((,c (:foreground ,vc-added))))
`(git-gutter+-deleted ((,c (:foreground ,vc-deleted))))
;; Helm
`(helm-selection ((,c (:background ,selection))))
`(helm-match ((,c (:foreground ,blue :underline t))))
`(helm-source-header ((,c (:background ,current-line :foreground ,grey-l))))
`(helm-swoop-target-line-face ((,c (:foreground ,highlight :inverse-video t))))
`(helm-ff-file ((,c (:foreground ,fg))))
`(helm-ff-prefix ((,c (:foreground ,magenta))))
`(helm-ff-dotted-directory ((,c (:foreground ,grey-d))))
`(helm-ff-directory ((,c (:foreground ,orange))))
`(helm-ff-executable ((,c (:foreground ,white :slant italic))))
;; indent-guide, highlight-{quoted,numbers,indentation}-mode
`(indent-guide-face ((,c (:foreground "#2F2F38"))))
`(highlight-indentation-face ((,c (:background "#222830"))))
`(highlight-indentation-current-column-face ((,c (:background "#222830"))))
`(highlight-indentation-guides-odd-face ((,c (:background ,bg))))
`(highlight-indentation-guides-even-face ((,c (:background "#222830"))))
`(highlight-quoted-symbol ((,c (:foreground ,type))))
`(highlight-quoted-quote ((,c (:foreground ,operators))))
`(highlight-numbers-number ((,c (:foreground ,constants))))
;; hide-show
`(hs-face ((,c (:foreground ,comments :background ,black))))
`(hs-fringe-face ((,c (:foreground ,blue))))
;; iedit
`(iedit-occurrence ((,c (:foreground ,magenta :bold ,bold :inverse-video t))))
`(iedit-read-only-occurrence ((,c (:inherit region))))
;; neotree
`(neo-root-dir-face ((,c (:foreground ,green))))
`(neo-file-link-face ((,c (:foreground ,fg))))
`(neo-dir-link-face ((,c (:foreground ,blue))))
`(neo-expand-btn-face ((,c (:foreground ,blue))))
;; pos-tip
`(popup ((,c (:inherit tooltip))))
`(popup-tip-face ((,c (:inherit tooltip))))
;; Volatile highlights
`(vhl/default-face ((,c (:background ,grey-d))))
;; Rainbow delimiters
`(rainbow-delimiters-depth-1-face ((,c (:foreground ,blue))))
`(rainbow-delimiters-depth-2-face ((,c (:foreground ,magenta))))
`(rainbow-delimiters-depth-3-face ((,c (:foreground ,green))))
`(rainbow-delimiters-depth-4-face ((,c (:foreground ,orange))))
`(rainbow-delimiters-depth-5-face ((,c (:foreground ,violet))))
`(rainbow-delimiters-unmatched-face ((,c (:foreground ,red :inverse-video t))))
;; re-builder
`(reb-match-0 ((,c (:foreground ,orange :inverse-video t))))
`(reb-match-1 ((,c (:foreground ,magenta :inverse-video t))))
`(reb-match-2 ((,c (:foreground ,green :inverse-video t))))
`(reb-match-3 ((,c (:foreground ,yellow :inverse-video t))))
;; which-key
`(which-key-key-face ((,c (:foreground ,green))))
`(which-key-group-description-face ((,c (:foreground ,violet))))
`(which-key-command-description-face ((,c (:foreground ,blue))))
`(which-key-local-map-description-face ((,c (:foreground ,magenta))))
;; whitespace
`(whitespace-tab ((,c (:foreground ,grey-d))))
`(whitespace-newline ((,c (:foreground ,grey-d))))
`(whitespace-trailing ((,c (:background ,grey-d))))
`(whitespace-line ((,c (:background ,current-line :foreground ,magenta))))
;; workgroups2
`(wg-current-workgroup-face ((,c (:foreground ,black :background ,blue))))
`(wg-other-workgroup-face ((,c (:foreground ,grey-l :background ,current-line))))
`(wg-divider-face ((,c (:foreground ,grey-d))))
`(wg-brace-face ((,c (:foreground ,blue))))
;;
;; Language-specific
;;
;; (css|scss)-mode
`(css-proprietary-property ((,c (:foreground ,keywords))))
;; js2-mode
`(js2-function-param ((,c (:foreground ,variables))))
`(js2-function-call ((,c (:foreground ,functions))))
`(js2-object-property ((,c (:foreground ,methods))))
`(js2-jsdoc-tag ((,c (:foreground ,comments))))
;; web-mode
`(web-mode-doctype-face ((,c (:foreground ,comments))))
`(web-mode-html-tag-face ((,c (:foreground ,methods))))
`(web-mode-html-tag-bracket-face ((,c (:foreground ,methods))))
`(web-mode-html-attr-name-face ((,c (:foreground ,type))))
`(web-mode-html-entity-face ((,c (:foreground ,cyan :italic ,italic))))
`(web-mode-block-control-face ((,c (:foreground ,orange))))
;;`(web-mode-html-tag-bracket-face ((,c (:foreground ,operators))))
;; markdown-mode
`(markdown-header-face ((,c (:foreground ,blue :bold ,bold))))
`(markdown-header-delimiter-face ((,c (:inherit markdown-header-face))))
`(markdown-blockquote-face ((,c (:foreground ,violet))))
`(markdown-markup-face ((,c (:foreground ,operators))))
`(markdown-pre-face ((,c (:inherit markdown-markup-face))))
`(markdown-inline-face ((,c (:foreground ,cyan))))
`(markdown-list-face ((,c (:foreground ,magenta))))
`(markdown-link-face ((,c (:foreground ,yellow :bold nil))))
`(markdown-url-face ((,c (:foreground ,green :bold nil))))
`(markdown-header-face-1 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-2 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-3 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-4 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-5 ((,c (:inherit markdown-header-face))))
`(markdown-header-face-6 ((,c (:inherit markdown-header-face))))
;;`(markdown-header-rule-face (:inherit shadow))
;;`(markdown-italic-face (:inherit italic))
;;`(markdown-link-face (:inherit shadow))
;;`(markdown-link-title-face (:inherit link))
;;`(markdown-url-face (:inherit link))
;; org-mode
`(org-tag ((,c (:foreground ,yellow :bold nil))))
;;`(org-ellipsis ((,c (:inherit hs-face))))
`(org-hide ((,c (:foreground ,bg))))
`(org-table ((,c (:foreground ,cyan))))
`(org-quote ((,c (:slant italic :foreground ,grey-l :background ,current-line))))
`(org-document-info ((,c (:foreground ,orange))))
`(org-document-info-keyword ((,c (:foreground ,grey-d))))
`(org-meta-line ((,c (:foreground ,doc-comments))))
`(org-block-begin-line ((,c (:background ,current-line :foreground ,doc-comments))))
`(org-block-end-line ((,c (:inherit org-block-begin-line))))
`(org-block-background ((,c (:background ,current-line))))
`(org-archived ((,c (:foreground ,grey-l))))
`(org-document-title ((,c (:foreground ,cyan))))
`(org-level-1 ((,c (:background ,current-line :foreground ,magenta :bold ,bold))))
`(org-level-2 ((,c ( :foreground ,cyan-d :bold ,bold))))
`(org-level-3 ((,c ( :foreground ,violet :bold ,bold))))
`(org-level-4 ((,c ( :foreground ,green :bold ,bold))))
`(org-level-5 ((,c ( :foreground ,yellow))))
`(org-level-6 ((,c ( :foreground ,blue))))
`(org-code ((,c (:foreground ,orange))))
`(org-verbatim ((,c (:foreground ,green))))
`(org-formula ((,c (:foreground ,cyan))))
`(org-list-dt ((,c (:foreground ,cyan))))
`(org-footnote ((,c (:foreground ,orange))))
`(org-link ((,c (:foreground ,cyan :bold inherit :underline t))))
`(org-date ((,c (:foreground ,violet))))
`(org-todo ((,c (:foreground ,yellow :bold inherit))))
`(org-done ((,c (:foreground ,green :bold inherit))))
`(org-headline-done ((,c (:foreground ,grey-l :bold nil :strike-through t))))
`(org-special-keyword ((,c (:foreground ,magenta))))
`(org-checkbox-statistics-todo ((,c (:inherit org-todo))))
`(org-checkbox-statistics-done ((,c (:inherit org-done))))
)
(custom-theme-set-variables
'doom-one
`(vc-annotate-color-map
'((20 . ,green)
(40 . ,(doom-blend yellow green (/ 1.0 3)))
(60 . ,(doom-blend yellow green (/ 2.0 3)))
(80 . ,yellow)
(100 . ,(doom-blend orange yellow (/ 1.0 3)))
(120 . ,(doom-blend orange yellow (/ 2.0 3)))
(140 . ,orange)
(160 . ,(doom-blend magenta orange (/ 1.0 3)))
(180 . ,(doom-blend magenta orange (/ 2.0 3)))
(200 . ,magenta)
(220 . ,(doom-blend red magenta (/ 1.0 3)))
(240 . ,(doom-blend red magenta (/ 2.0 3)))
(260 . ,red)
(280 . ,(doom-blend grey red (/ 1.0 4)))
(300 . ,(doom-blend grey red (/ 2.0 4)))
(320 . ,(doom-blend grey red (/ 3.0 4)))
(340 . ,grey)
(360 . ,grey)))
`(vc-annotate-very-old-color nil)
`(vc-annotate-background ,black))))
(provide-theme 'doom-one)
;; Local Variables:
;; no-byte-compile: t
;; End:

@ -0,0 +1 @@
Subproject commit 17d82c93b659797456744c623b3468c1c9024df6