From 905cf965c5267f8e26baf50264aefeb1112c30a8 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 28 May 2016 22:33:20 -0400 Subject: [PATCH] Extract doom-theme; use submodule --- .gitmodules | 3 + core/core-defuns.el | 1 + core/core.el | 21 +- private/themes/doom-dark-theme.el | 407 ------------------------ private/themes/doom-one-light-theme.el | 408 ------------------------ private/themes/doom-one-theme.el | 409 ------------------------- private/themes/doom-theme | 1 + 7 files changed, 17 insertions(+), 1233 deletions(-) create mode 100644 .gitmodules delete mode 100644 private/themes/doom-dark-theme.el delete mode 100644 private/themes/doom-one-light-theme.el delete mode 100644 private/themes/doom-one-theme.el create mode 160000 private/themes/doom-theme diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..8641f3f4e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "private/themes/doom-theme"] + path = private/themes/doom-theme + url = git@github.com:hlissner/emacs-doom-theme.git diff --git a/core/core-defuns.el b/core/core-defuns.el index 9cfb7112e..ebb3c99c9 100644 --- a/core/core-defuns.el +++ b/core/core-defuns.el @@ -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!")) diff --git a/core/core.el b/core/core.el index 55dc971ee..4e87dba13 100644 --- a/core/core.el +++ b/core/core.el @@ -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))) ;; diff --git a/private/themes/doom-dark-theme.el b/private/themes/doom-dark-theme.el deleted file mode 100644 index cdbc8addf..000000000 --- a/private/themes/doom-dark-theme.el +++ /dev/null @@ -1,407 +0,0 @@ -;; DOOM Dark -;; By Henrik Lissner - -(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: diff --git a/private/themes/doom-one-light-theme.el b/private/themes/doom-one-light-theme.el deleted file mode 100644 index 6bed52eac..000000000 --- a/private/themes/doom-one-light-theme.el +++ /dev/null @@ -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: diff --git a/private/themes/doom-one-theme.el b/private/themes/doom-one-theme.el deleted file mode 100644 index 85cf586cc..000000000 --- a/private/themes/doom-one-theme.el +++ /dev/null @@ -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: diff --git a/private/themes/doom-theme b/private/themes/doom-theme new file mode 160000 index 000000000..17d82c93b --- /dev/null +++ b/private/themes/doom-theme @@ -0,0 +1 @@ +Subproject commit 17d82c93b659797456744c623b3468c1c9024df6