From eec6e5b035fa5629272a3838618b568fd132917b Mon Sep 17 00:00:00 2001 From: Sravan Balaji Date: Sat, 13 Jul 2024 08:33:36 -0400 Subject: [PATCH] Add dracula pro themes --- themes/dracula-pro-alucard-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-blade-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-buffy-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-lincoln-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-morbius-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-pro-theme.el | 638 +++++++++++++++++++++++++ themes/dracula-pro-vanhelsing-theme.el | 638 +++++++++++++++++++++++++ 7 files changed, 4466 insertions(+) create mode 100644 themes/dracula-pro-alucard-theme.el create mode 100644 themes/dracula-pro-blade-theme.el create mode 100644 themes/dracula-pro-buffy-theme.el create mode 100644 themes/dracula-pro-lincoln-theme.el create mode 100644 themes/dracula-pro-morbius-theme.el create mode 100644 themes/dracula-pro-pro-theme.el create mode 100644 themes/dracula-pro-vanhelsing-theme.el diff --git a/themes/dracula-pro-alucard-theme.el b/themes/dracula-pro-alucard-theme.el new file mode 100644 index 0000000..274cdf4 --- /dev/null +++ b/themes/dracula-pro-alucard-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-alucard-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-alucard + "Dracula PRO - Alucard Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-alucard nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-alucard-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-alucard) + +(defcustom dracula-pro-alucard-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-alucard) + +(defcustom dracula-pro-alucard-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-alucard) + +(defcustom dracula-pro-alucard-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-alucard) + +(defcustom dracula-pro-alucard-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-alucard) + +(defcustom dracula-pro-alucard-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-alucard) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-alucard-bg "#F5F5F5" "#F5F5F5" nil) ; Background + (dracula-pro-alucard-fg "#1F1F1F" "#1F1F1F" "brightwhite") ; Foreground + (dracula-pro-alucard-current "#CFCFDE" "#CFCFDE" "brightblack") ; Current-line/selection + (dracula-pro-alucard-comment "#635D97" "#635D97" "blue") ; Comment + (dracula-pro-alucard-cyan "#036A96" "#036A96" "brightcyan") ; Cyan + (dracula-pro-alucard-green "#14710A" "#14710A" "green") ; Green + (dracula-pro-alucard-orange "#A34D14" "#A34D14" "brightred") ; Orange + (dracula-pro-alucard-pink "#A3144D" "#A3144D" "magenta") ; Pink + (dracula-pro-alucard-purple "#644AC9" "#644AC9" "brightmagenta") ; Purple + (dracula-pro-alucard-red "#CB3A2A" "#CB3A2A" "red") ; Red + (dracula-pro-alucard-yellow "#846E15" "#846E15" "yellow") ; Yellow + ;; Other colors + (dracula-pro-alucard-bg2 "#E5E5E5" "#E5E5E5" "brightblack") + (dracula-pro-alucard-bg3 "#D5D5D5" "#D5D5D5" "brightblack") + (dracula-pro-alucard-bg4 "#C5C5C5" "#C5C5C5" "brightblack") + (dracula-pro-alucard-fg2 "#2F2F2F" "#2F2F2F" "brightwhite") + (dracula-pro-alucard-fg3 "#3F3F3F" "#3F3F3F" "white") + (dracula-pro-alucard-fg4 "#4F4F4F" "#4F4F4F" "white") + (dracula-pro-alucard-alt-blue "#336699" "#336699" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-alucard-fg3) + (completions-first-difference :foreground ,dracula-pro-alucard-pink :weight bold) + (default :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-alucard-fg4) + (fringe :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-fg4) + (highlight :foreground ,dracula-pro-alucard-fg3 :background ,dracula-pro-alucard-bg3) + (hl-line :background ,dracula-pro-alucard-current :extend t) + (info-quoted-name :foreground ,dracula-pro-alucard-orange) + (info-string :foreground ,dracula-pro-alucard-yellow) + (lazy-highlight :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg2) + (link :foreground ,dracula-pro-alucard-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-alucard-bg4 :background ,dracula-pro-alucard-bg) + (line-number :slant italic :foreground ,dracula-pro-alucard-bg4 :background ,dracula-pro-alucard-bg) + (match :background ,dracula-pro-alucard-yellow :foreground ,dracula-pro-alucard-bg) + (minibuffer-prompt + ,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-alucard-fg) + (list :weight 'bold :foreground dracula-pro-alucard-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-alucard-orange) + (vertical-border :foreground ,dracula-pro-alucard-bg2) + (success :foreground ,dracula-pro-alucard-green) + (warning :foreground ,dracula-pro-alucard-orange) + (error :foreground ,dracula-pro-alucard-red) + (header-line :background ,dracula-pro-alucard-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-alucard-orange) + (font-lock-comment-face :foreground ,dracula-pro-alucard-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-alucard-comment) + (font-lock-constant-face :foreground ,dracula-pro-alucard-cyan) + (font-lock-doc-face :foreground ,dracula-pro-alucard-comment) + (font-lock-function-name-face :foreground ,dracula-pro-alucard-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-alucard-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-alucard-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-alucard-orange) + (font-lock-reference-face :foreground ,dracula-pro-alucard-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-alucard-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-alucard-purple) + (font-lock-string-face :foreground ,dracula-pro-alucard-yellow) + (font-lock-type-face :foreground ,dracula-pro-alucard-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-alucard-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-alucard-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-fg) + (company-preview :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-alt-blue) + (company-preview-common :foreground ,dracula-pro-alucard-bg2 :foreground ,dracula-pro-alucard-fg3) + (company-preview-search :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg) + (company-scrollbar-bg :background ,dracula-pro-alucard-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-alucard-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-alucard-cyan) + (company-tooltip-common :foreground ,dracula-pro-alucard-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-alucard-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-alucard-bg3 :foreground ,dracula-pro-alucard-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-orange) + (diff-hl-delete :foreground ,dracula-pro-alucard-red :background ,dracula-pro-alucard-red) + (diff-hl-insert :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-green) + ;; dired + (dired-directory :foreground ,dracula-pro-alucard-green :weight normal) + (dired-flagged :foreground ,dracula-pro-alucard-pink) + (dired-header :foreground ,dracula-pro-alucard-fg3 :background ,dracula-pro-alucard-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-alucard-fg :weight bold) + (dired-marked :foreground ,dracula-pro-alucard-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-alucard-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-alucard-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-alucard-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-alucard-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-alucard-fg4) + (diredp-date-time :foreground ,dracula-pro-alucard-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-current) + (diredp-deletion :foreground ,dracula-pro-alucard-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-alucard-orange) + (diredp-file-name :foreground ,dracula-pro-alucard-fg) + (diredp-file-suffix :foreground ,dracula-pro-alucard-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-alucard-fg2 :slant italic :background ,dracula-pro-alucard-current) + (diredp-flag-mark :foreground ,dracula-pro-alucard-fg2 :weight bold :background ,dracula-pro-alucard-current) + (diredp-ignored-file-name :foreground ,dracula-pro-alucard-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-alucard-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-alucard-orange) + (diredp-no-priv :foreground ,dracula-pro-alucard-fg) + (diredp-number :foreground ,dracula-pro-alucard-cyan) + (diredp-other-priv :foreground ,dracula-pro-alucard-orange) + (diredp-rare-priv :foreground ,dracula-pro-alucard-orange) + (diredp-read-priv :foreground ,dracula-pro-alucard-purple) + (diredp-write-priv :foreground ,dracula-pro-alucard-pink) + (diredp-exec-priv :foreground ,dracula-pro-alucard-yellow) + (diredp-symlink :foreground ,dracula-pro-alucard-orange) + (diredp-link-priv :foreground ,dracula-pro-alucard-orange) + (diredp-autofile-name :foreground ,dracula-pro-alucard-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-alucard-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-alucard-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-alucard-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-alucard-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-alucard-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-alucard-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-alucard-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-alucard-purple) + (font-latex-italic-face :foreground ,dracula-pro-alucard-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-alucard-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-alucard-fg) + (font-latex-string-face :foreground ,dracula-pro-alucard-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-alucard-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-alucard-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-alucard-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-alucard-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-alucard-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-alucard-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-alucard-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-alucard-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-alucard-pink) + (gnus-header-from :foreground ,dracula-pro-alucard-fg) + (gnus-header-name :foreground ,dracula-pro-alucard-purple) + (gnus-header-subject :foreground ,dracula-pro-alucard-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-alucard-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-alucard-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-alucard-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-alucard-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-alucard-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-alucard-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-alucard-pink) + (haskell-constructor-face :foreground ,dracula-pro-alucard-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-alucard-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg) + (helm-buffer-process :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (helm-buffer-size :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (helm-candidate-number :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-fg) + (helm-ff-directory :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-alucard-alt-blue :background ,dracula-pro-alucard-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (helm-grep-file :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (helm-grep-finish :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg) + (helm-grep-lineno :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg) + (helm-header :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-bg) + (helm-selection :background ,dracula-pro-alucard-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-alucard-bg2) + (helm-separator :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-alucard-yellow) + (helm-source-header :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg) + (helm-time-zone-home :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg) + (helm-visible-mark :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-alucard-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-alucard-fg) + (icicle-special-candidate :foreground ,dracula-pro-alucard-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-alucard-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-alucard-fg) + (icicle-search-current-input :foreground ,dracula-pro-alucard-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-alucard-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-alucard-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-alucard-fg) + (icicle-saved-candidate :foreground ,dracula-pro-alucard-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-alucard-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-alucard-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-alucard-fg2 :background ,dracula-pro-alucard-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-alucard-green) + (icicle-mode-line-help :foreground ,dracula-pro-alucard-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-alucard-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-alucard-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-alucard-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-alucard-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-alucard-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-alucard-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-alucard-fg) + (icicle-historical-candidate :foreground ,dracula-pro-alucard-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-alucard-orange :background ,dracula-pro-alucard-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-alucard-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-alucard-fg4) + (icicle-completion :foreground ,dracula-pro-alucard-fg) + (icicle-complete-input :foreground ,dracula-pro-alucard-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-alucard-purple) + (icicle-candidate-part :foreground ,dracula-pro-alucard-fg) + (icicle-annotation :foreground ,dracula-pro-alucard-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-alucard-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-alucard-green) + (list :weight 'bold :foreground dracula-pro-alucard-pink))) + (ido-only-match :foreground ,dracula-pro-alucard-orange) + (ido-subdir :foreground ,dracula-pro-alucard-yellow) + (ido-virtual :foreground ,dracula-pro-alucard-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-alucard-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-alucard-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-alucard-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-alucard-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-alucard-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-alucard-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-alucard-purple) + (js2-function-param :foreground ,dracula-pro-alucard-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-alucard-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-alucard-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-alucard-yellow) + (js2-private-function-call :foreground ,dracula-pro-alucard-cyan) + (js2-private-member :foreground ,dracula-pro-alucard-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-alucard-orange) + (js3-external-variable-face :foreground ,dracula-pro-alucard-fg) + (js3-function-param-face :foreground ,dracula-pro-alucard-pink) + (js3-instance-member-face :foreground ,dracula-pro-alucard-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-alucard-pink) + (js3-warning-face :underline ,dracula-pro-alucard-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-alucard-cyan) + (magit-branch-remote :foreground ,dracula-pro-alucard-green) + (magit-tag :foreground ,dracula-pro-alucard-orange) + (magit-section-heading :foreground ,dracula-pro-alucard-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-alucard-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-alucard-bg3 + :foreground ,dracula-pro-alucard-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-alucard-orange + :background ,dracula-pro-alucard-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-alucard-orange + :background ,dracula-pro-alucard-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-alucard-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-alucard-green) + (magit-diffstat-removed :foreground ,dracula-pro-alucard-red) + (magit-hash :foreground ,dracula-pro-alucard-fg2) + (magit-hunk-heading :background ,dracula-pro-alucard-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-alucard-bg3) + (magit-item-highlight :background ,dracula-pro-alucard-bg3) + (magit-log-author :foreground ,dracula-pro-alucard-fg3) + (magit-process-ng :foreground ,dracula-pro-alucard-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-alucard-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-alucard-orange) + (markdown-code-face :foreground ,dracula-pro-alucard-orange) + (markdown-footnote-face :foreground ,dracula-pro-alucard-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-alucard-pink + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-alucard-purple + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-alucard-green + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-alucard-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-alucard-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-alucard-orange) + (markdown-header-face-7 :foreground ,dracula-pro-alucard-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-alucard-fg) + (markdown-inline-code-face :foreground ,dracula-pro-alucard-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-alucard-orange) + (markdown-table-face :foreground ,dracula-pro-alucard-purple) + ;; message + (message-mml :foreground ,dracula-pro-alucard-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-alucard-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-alucard-current + :box ,dracula-pro-alucard-current :inverse-video nil + ,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-alucard-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-alucard-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-alucard-comment :background dracula-pro-alucard-bg + :box dracula-pro-alucard-bg) + (list :foreground dracula-pro-alucard-fg :background dracula-pro-alucard-bg2 :box dracula-pro-alucard-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-alucard-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-alucard-purple) + (mu4e-highlight-face :background ,dracula-pro-alucard-bg + :foreground ,dracula-pro-alucard-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-alucard-current + :foreground ,dracula-pro-alucard-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-alucard-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-alucard-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-alucard-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-alucard-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-alucard-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-alucard-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-alucard-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-alucard-comment) + (org-agenda-done :foreground ,dracula-pro-alucard-green) + (org-agenda-structure :foreground ,dracula-pro-alucard-purple) + (org-block :foreground ,dracula-pro-alucard-orange) + (org-code :foreground ,dracula-pro-alucard-yellow) + (org-column :background ,dracula-pro-alucard-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-alucard-cyan :underline t) + (org-document-info :foreground ,dracula-pro-alucard-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-alucard-comment) + (org-document-title :weight bold :foreground ,dracula-pro-alucard-orange + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-doc-title))) + (org-done :foreground ,dracula-pro-alucard-green) + (org-ellipsis :foreground ,dracula-pro-alucard-comment) + (org-footnote :foreground ,dracula-pro-alucard-alt-blue) + (org-formula :foreground ,dracula-pro-alucard-pink) + (org-headline-done :foreground ,dracula-pro-alucard-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-alucard-pink + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-alucard-purple + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-alucard-green + ,@(when dracula-pro-alucard-enlarge-headings + (list :height dracula-pro-alucard-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-alucard-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-alucard-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-alucard-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-alucard-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-alucard-fg) + (org-link :foreground ,dracula-pro-alucard-cyan :underline t) + (org-priority :foreground ,dracula-pro-alucard-cyan) + (org-scheduled :foreground ,dracula-pro-alucard-green) + (org-scheduled-previously :foreground ,dracula-pro-alucard-yellow) + (org-scheduled-today :foreground ,dracula-pro-alucard-green) + (org-sexp-date :foreground ,dracula-pro-alucard-fg4) + (org-special-keyword :foreground ,dracula-pro-alucard-yellow) + (org-table :foreground ,dracula-pro-alucard-purple) + (org-tag :foreground ,dracula-pro-alucard-pink :weight bold :background ,dracula-pro-alucard-bg2) + (org-todo :foreground ,dracula-pro-alucard-orange :weight bold :background ,dracula-pro-alucard-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-alucard-yellow) + (org-warning :weight bold :foreground ,dracula-pro-alucard-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-alucard-pink) + (outline-2 :foreground ,dracula-pro-alucard-purple) + (outline-3 :foreground ,dracula-pro-alucard-green) + (outline-4 :foreground ,dracula-pro-alucard-yellow) + (outline-5 :foreground ,dracula-pro-alucard-cyan) + (outline-6 :foreground ,dracula-pro-alucard-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-alucard-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-alucard-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-alucard-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-alucard-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-alucard-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-alucard-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-alucard-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-alucard-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-alucard-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-alucard-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-alucard-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-alucard-green) + (rpm-spec-doc-face :foreground ,dracula-pro-alucard-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-alucard-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-alucard-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-alucard-purple) + (rpm-spec-section-face :foreground ,dracula-pro-alucard-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-alucard-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-alucard-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-alucard-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-alucard-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-alucard-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-alucard-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg + :box (:line-width 2 :color ,dracula-pro-alucard-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg2 + :box (:line-width 2 :color ,dracula-pro-alucard-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-bg + :box (:line-width 2 :color ,dracula-pro-alucard-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-bg2 + :box (:line-width 2 :color ,dracula-pro-alucard-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-alucard-red) + ;; term + (term :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-bg) + (term-color-black :foreground ,dracula-pro-alucard-bg :background ,dracula-pro-alucard-bg) + (term-color-blue :foreground ,dracula-pro-alucard-purple :background ,dracula-pro-alucard-purple) + (term-color-cyan :foreground ,dracula-pro-alucard-cyan :background ,dracula-pro-alucard-cyan) + (term-color-green :foreground ,dracula-pro-alucard-green :background ,dracula-pro-alucard-green) + (term-color-magenta :foreground ,dracula-pro-alucard-pink :background ,dracula-pro-alucard-pink) + (term-color-red :foreground ,dracula-pro-alucard-red :background ,dracula-pro-alucard-red) + (term-color-white :foreground ,dracula-pro-alucard-fg :background ,dracula-pro-alucard-fg) + (term-color-yellow :foreground ,dracula-pro-alucard-yellow :background ,dracula-pro-alucard-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-alucard-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-alucard-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-alucard-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-alucard-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-alucard-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-alucard-green) + (web-mode-html-tag-face :foreground ,dracula-pro-alucard-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-alucard-pink) + (web-mode-string-face :foreground ,dracula-pro-alucard-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-alucard-red :foreground ,dracula-pro-alucard-red) + (whitespace-empty :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red) + (whitespace-hspace :background ,dracula-pro-alucard-bg3 :foreground ,dracula-pro-alucard-comment) + (whitespace-indentation :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red) + (whitespace-line :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-pink) + (whitespace-newline :foreground ,dracula-pro-alucard-comment) + (whitespace-space :background ,dracula-pro-alucard-bg :foreground ,dracula-pro-alucard-comment) + (whitespace-space-after-tab :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red) + (whitespace-space-before-tab :background ,dracula-pro-alucard-orange :foreground ,dracula-pro-alucard-red) + (whitespace-tab :background ,dracula-pro-alucard-bg2 :foreground ,dracula-pro-alucard-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-alucard + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-alucard) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-alucard-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-blade-theme.el b/themes/dracula-pro-blade-theme.el new file mode 100644 index 0000000..58bce3d --- /dev/null +++ b/themes/dracula-pro-blade-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-dracula-pro-blade-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-blade + "Dracula PRO - Blade Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-blade nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-blade-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-blade) + +(defcustom dracula-pro-blade-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-blade) + +(defcustom dracula-pro-blade-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-blade) + +(defcustom dracula-pro-blade-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-blade) + +(defcustom dracula-pro-blade-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-blade) + +(defcustom dracula-pro-blade-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-blade) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-blade-bg "#212C2A" "#1F2E2B" nil) ; Background + (dracula-pro-blade-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-blade-current "#415854" "#3D5C56" "brightblack") ; Current-line/selection + (dracula-pro-blade-comment "#70A99F" "#6AAFA2" "blue") ; Comment + (dracula-pro-blade-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-blade-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-blade-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-blade-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-blade-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-blade-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-blade-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-blade-bg2 "#1F2E2B" "#293D39" "brightblack") + (dracula-pro-blade-bg3 "#293D39" "#334D48" "brightblack") + (dracula-pro-blade-bg4 "#334C47" "#3D5C56" "brightblack") + (dracula-pro-blade-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-blade-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-blade-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-blade-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-blade-fg3) + (completions-first-difference :foreground ,dracula-pro-blade-pink :weight bold) + (default :background ,dracula-pro-blade-bg :foreground ,dracula-pro-blade-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-blade-fg4) + (fringe :background ,dracula-pro-blade-bg :foreground ,dracula-pro-blade-fg4) + (highlight :foreground ,dracula-pro-blade-fg3 :background ,dracula-pro-blade-bg3) + (hl-line :background ,dracula-pro-blade-current :extend t) + (info-quoted-name :foreground ,dracula-pro-blade-orange) + (info-string :foreground ,dracula-pro-blade-yellow) + (lazy-highlight :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg2) + (link :foreground ,dracula-pro-blade-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-blade-bg4 :background ,dracula-pro-blade-bg) + (line-number :slant italic :foreground ,dracula-pro-blade-bg4 :background ,dracula-pro-blade-bg) + (match :background ,dracula-pro-blade-yellow :foreground ,dracula-pro-blade-bg) + (minibuffer-prompt + ,@(if dracula-pro-blade-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-blade-fg) + (list :weight 'bold :foreground dracula-pro-blade-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-blade-orange) + (vertical-border :foreground ,dracula-pro-blade-bg2) + (success :foreground ,dracula-pro-blade-green) + (warning :foreground ,dracula-pro-blade-orange) + (error :foreground ,dracula-pro-blade-red) + (header-line :background ,dracula-pro-blade-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-blade-orange) + (font-lock-comment-face :foreground ,dracula-pro-blade-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-blade-comment) + (font-lock-constant-face :foreground ,dracula-pro-blade-cyan) + (font-lock-doc-face :foreground ,dracula-pro-blade-comment) + (font-lock-function-name-face :foreground ,dracula-pro-blade-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-blade-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-blade-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-blade-orange) + (font-lock-reference-face :foreground ,dracula-pro-blade-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-blade-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-blade-purple) + (font-lock-string-face :foreground ,dracula-pro-blade-yellow) + (font-lock-type-face :foreground ,dracula-pro-blade-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-blade-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-blade-orange :background ,dracula-pro-blade-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-blade-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-fg) + (company-preview :background ,dracula-pro-blade-bg :foreground ,dracula-pro-blade-alt-blue) + (company-preview-common :foreground ,dracula-pro-blade-bg2 :foreground ,dracula-pro-blade-fg3) + (company-preview-search :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg) + (company-scrollbar-bg :background ,dracula-pro-blade-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-blade-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-blade-cyan) + (company-tooltip-common :foreground ,dracula-pro-blade-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-blade-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-blade-bg3 :foreground ,dracula-pro-blade-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-blade-orange :background ,dracula-pro-blade-orange) + (diff-hl-delete :foreground ,dracula-pro-blade-red :background ,dracula-pro-blade-red) + (diff-hl-insert :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-green) + ;; dired + (dired-directory :foreground ,dracula-pro-blade-green :weight normal) + (dired-flagged :foreground ,dracula-pro-blade-pink) + (dired-header :foreground ,dracula-pro-blade-fg3 :background ,dracula-pro-blade-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-blade-fg :weight bold) + (dired-marked :foreground ,dracula-pro-blade-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-blade-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-blade-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-blade-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-blade-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-blade-fg4) + (diredp-date-time :foreground ,dracula-pro-blade-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-current) + (diredp-deletion :foreground ,dracula-pro-blade-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-blade-orange) + (diredp-file-name :foreground ,dracula-pro-blade-fg) + (diredp-file-suffix :foreground ,dracula-pro-blade-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-blade-fg2 :slant italic :background ,dracula-pro-blade-current) + (diredp-flag-mark :foreground ,dracula-pro-blade-fg2 :weight bold :background ,dracula-pro-blade-current) + (diredp-ignored-file-name :foreground ,dracula-pro-blade-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-blade-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-blade-orange) + (diredp-no-priv :foreground ,dracula-pro-blade-fg) + (diredp-number :foreground ,dracula-pro-blade-cyan) + (diredp-other-priv :foreground ,dracula-pro-blade-orange) + (diredp-rare-priv :foreground ,dracula-pro-blade-orange) + (diredp-read-priv :foreground ,dracula-pro-blade-purple) + (diredp-write-priv :foreground ,dracula-pro-blade-pink) + (diredp-exec-priv :foreground ,dracula-pro-blade-yellow) + (diredp-symlink :foreground ,dracula-pro-blade-orange) + (diredp-link-priv :foreground ,dracula-pro-blade-orange) + (diredp-autofile-name :foreground ,dracula-pro-blade-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-blade-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-blade-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-blade-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-blade-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-blade-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-blade-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-blade-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-blade-purple) + (font-latex-italic-face :foreground ,dracula-pro-blade-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-blade-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-blade-fg) + (font-latex-string-face :foreground ,dracula-pro-blade-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-blade-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-blade-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-blade-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-blade-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-blade-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-blade-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-blade-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-blade-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-blade-pink) + (gnus-header-from :foreground ,dracula-pro-blade-fg) + (gnus-header-name :foreground ,dracula-pro-blade-purple) + (gnus-header-subject :foreground ,dracula-pro-blade-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-blade-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-blade-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-blade-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-blade-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-blade-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-blade-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-blade-pink) + (haskell-constructor-face :foreground ,dracula-pro-blade-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-blade-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg) + (helm-buffer-process :foreground ,dracula-pro-blade-orange :background ,dracula-pro-blade-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (helm-buffer-size :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (helm-candidate-number :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-fg) + (helm-ff-directory :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-blade-alt-blue :background ,dracula-pro-blade-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (helm-grep-file :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (helm-grep-finish :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg) + (helm-grep-lineno :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-bg) + (helm-header :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-bg) + (helm-selection :background ,dracula-pro-blade-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-blade-bg2) + (helm-separator :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-blade-yellow) + (helm-source-header :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-blade-orange :background ,dracula-pro-blade-bg) + (helm-time-zone-home :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg) + (helm-visible-mark :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-blade-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-blade-fg) + (icicle-special-candidate :foreground ,dracula-pro-blade-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-blade-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-blade-fg) + (icicle-search-current-input :foreground ,dracula-pro-blade-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-blade-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-blade-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-blade-fg) + (icicle-saved-candidate :foreground ,dracula-pro-blade-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-blade-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-blade-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-blade-fg2 :background ,dracula-pro-blade-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-blade-green) + (icicle-mode-line-help :foreground ,dracula-pro-blade-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-blade-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-blade-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-blade-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-blade-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-blade-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-blade-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-blade-fg) + (icicle-historical-candidate :foreground ,dracula-pro-blade-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-blade-orange :background ,dracula-pro-blade-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-blade-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-blade-fg4) + (icicle-completion :foreground ,dracula-pro-blade-fg) + (icicle-complete-input :foreground ,dracula-pro-blade-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-blade-purple) + (icicle-candidate-part :foreground ,dracula-pro-blade-fg) + (icicle-annotation :foreground ,dracula-pro-blade-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-blade-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-blade-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-blade-green) + (list :weight 'bold :foreground dracula-pro-blade-pink))) + (ido-only-match :foreground ,dracula-pro-blade-orange) + (ido-subdir :foreground ,dracula-pro-blade-yellow) + (ido-virtual :foreground ,dracula-pro-blade-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-blade-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-blade-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-blade-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-blade-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-blade-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-blade-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-blade-purple) + (js2-function-param :foreground ,dracula-pro-blade-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-blade-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-blade-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-blade-yellow) + (js2-private-function-call :foreground ,dracula-pro-blade-cyan) + (js2-private-member :foreground ,dracula-pro-blade-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-blade-orange) + (js3-external-variable-face :foreground ,dracula-pro-blade-fg) + (js3-function-param-face :foreground ,dracula-pro-blade-pink) + (js3-instance-member-face :foreground ,dracula-pro-blade-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-blade-pink) + (js3-warning-face :underline ,dracula-pro-blade-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-blade-cyan) + (magit-branch-remote :foreground ,dracula-pro-blade-green) + (magit-tag :foreground ,dracula-pro-blade-orange) + (magit-section-heading :foreground ,dracula-pro-blade-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-blade-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-blade-bg3 + :foreground ,dracula-pro-blade-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-blade-orange + :background ,dracula-pro-blade-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-blade-orange + :background ,dracula-pro-blade-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-blade-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-blade-green) + (magit-diffstat-removed :foreground ,dracula-pro-blade-red) + (magit-hash :foreground ,dracula-pro-blade-fg2) + (magit-hunk-heading :background ,dracula-pro-blade-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-blade-bg3) + (magit-item-highlight :background ,dracula-pro-blade-bg3) + (magit-log-author :foreground ,dracula-pro-blade-fg3) + (magit-process-ng :foreground ,dracula-pro-blade-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-blade-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-blade-orange) + (markdown-code-face :foreground ,dracula-pro-blade-orange) + (markdown-footnote-face :foreground ,dracula-pro-blade-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-blade-pink + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-blade-purple + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-blade-green + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-blade-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-blade-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-blade-orange) + (markdown-header-face-7 :foreground ,dracula-pro-blade-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-blade-fg) + (markdown-inline-code-face :foreground ,dracula-pro-blade-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-blade-orange) + (markdown-table-face :foreground ,dracula-pro-blade-purple) + ;; message + (message-mml :foreground ,dracula-pro-blade-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-blade-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-blade-current + :box ,dracula-pro-blade-current :inverse-video nil + ,@(if dracula-pro-blade-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-blade-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-blade-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-blade-comment :background dracula-pro-blade-bg + :box dracula-pro-blade-bg) + (list :foreground dracula-pro-blade-fg :background dracula-pro-blade-bg2 :box dracula-pro-blade-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-blade-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-blade-purple) + (mu4e-highlight-face :background ,dracula-pro-blade-bg + :foreground ,dracula-pro-blade-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-blade-current + :foreground ,dracula-pro-blade-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-blade-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-blade-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-blade-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-blade-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-blade-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-blade-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-blade-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-blade-comment) + (org-agenda-done :foreground ,dracula-pro-blade-green) + (org-agenda-structure :foreground ,dracula-pro-blade-purple) + (org-block :foreground ,dracula-pro-blade-orange) + (org-code :foreground ,dracula-pro-blade-yellow) + (org-column :background ,dracula-pro-blade-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-blade-cyan :underline t) + (org-document-info :foreground ,dracula-pro-blade-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-blade-comment) + (org-document-title :weight bold :foreground ,dracula-pro-blade-orange + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-doc-title))) + (org-done :foreground ,dracula-pro-blade-green) + (org-ellipsis :foreground ,dracula-pro-blade-comment) + (org-footnote :foreground ,dracula-pro-blade-alt-blue) + (org-formula :foreground ,dracula-pro-blade-pink) + (org-headline-done :foreground ,dracula-pro-blade-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-blade-pink + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-blade-purple + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-blade-green + ,@(when dracula-pro-blade-enlarge-headings + (list :height dracula-pro-blade-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-blade-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-blade-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-blade-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-blade-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-blade-fg) + (org-link :foreground ,dracula-pro-blade-cyan :underline t) + (org-priority :foreground ,dracula-pro-blade-cyan) + (org-scheduled :foreground ,dracula-pro-blade-green) + (org-scheduled-previously :foreground ,dracula-pro-blade-yellow) + (org-scheduled-today :foreground ,dracula-pro-blade-green) + (org-sexp-date :foreground ,dracula-pro-blade-fg4) + (org-special-keyword :foreground ,dracula-pro-blade-yellow) + (org-table :foreground ,dracula-pro-blade-purple) + (org-tag :foreground ,dracula-pro-blade-pink :weight bold :background ,dracula-pro-blade-bg2) + (org-todo :foreground ,dracula-pro-blade-orange :weight bold :background ,dracula-pro-blade-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-blade-yellow) + (org-warning :weight bold :foreground ,dracula-pro-blade-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-blade-pink) + (outline-2 :foreground ,dracula-pro-blade-purple) + (outline-3 :foreground ,dracula-pro-blade-green) + (outline-4 :foreground ,dracula-pro-blade-yellow) + (outline-5 :foreground ,dracula-pro-blade-cyan) + (outline-6 :foreground ,dracula-pro-blade-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-blade-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-blade-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-blade-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-blade-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-blade-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-blade-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-blade-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-blade-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-blade-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-blade-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-blade-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-blade-green) + (rpm-spec-doc-face :foreground ,dracula-pro-blade-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-blade-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-blade-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-blade-purple) + (rpm-spec-section-face :foreground ,dracula-pro-blade-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-blade-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-blade-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-blade-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-blade-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-blade-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-blade-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-bg + :box (:line-width 2 :color ,dracula-pro-blade-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg2 + :box (:line-width 2 :color ,dracula-pro-blade-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-bg + :box (:line-width 2 :color ,dracula-pro-blade-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-bg2 + :box (:line-width 2 :color ,dracula-pro-blade-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-blade-red) + ;; term + (term :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-bg) + (term-color-black :foreground ,dracula-pro-blade-bg :background ,dracula-pro-blade-bg) + (term-color-blue :foreground ,dracula-pro-blade-purple :background ,dracula-pro-blade-purple) + (term-color-cyan :foreground ,dracula-pro-blade-cyan :background ,dracula-pro-blade-cyan) + (term-color-green :foreground ,dracula-pro-blade-green :background ,dracula-pro-blade-green) + (term-color-magenta :foreground ,dracula-pro-blade-pink :background ,dracula-pro-blade-pink) + (term-color-red :foreground ,dracula-pro-blade-red :background ,dracula-pro-blade-red) + (term-color-white :foreground ,dracula-pro-blade-fg :background ,dracula-pro-blade-fg) + (term-color-yellow :foreground ,dracula-pro-blade-yellow :background ,dracula-pro-blade-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-blade-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-blade-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-blade-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-blade-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-blade-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-blade-green) + (web-mode-html-tag-face :foreground ,dracula-pro-blade-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-blade-pink) + (web-mode-string-face :foreground ,dracula-pro-blade-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-blade-red :foreground ,dracula-pro-blade-red) + (whitespace-empty :background ,dracula-pro-blade-orange :foreground ,dracula-pro-blade-red) + (whitespace-hspace :background ,dracula-pro-blade-bg3 :foreground ,dracula-pro-blade-comment) + (whitespace-indentation :background ,dracula-pro-blade-orange :foreground ,dracula-pro-blade-red) + (whitespace-line :background ,dracula-pro-blade-bg :foreground ,dracula-pro-blade-pink) + (whitespace-newline :foreground ,dracula-pro-blade-comment) + (whitespace-space :background ,dracula-pro-blade-bg :foreground ,dracula-pro-blade-comment) + (whitespace-space-after-tab :background ,dracula-pro-blade-orange :foreground ,dracula-pro-blade-red) + (whitespace-space-before-tab :background ,dracula-pro-blade-orange :foreground ,dracula-pro-blade-red) + (whitespace-tab :background ,dracula-pro-blade-bg2 :foreground ,dracula-pro-blade-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-blade + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-blade) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-blade-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-buffy-theme.el b/themes/dracula-pro-buffy-theme.el new file mode 100644 index 0000000..d3a44be --- /dev/null +++ b/themes/dracula-pro-buffy-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-buffy-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-buffy + "Dracula PRO - Buffy Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-buffy nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-buffy-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-buffy) + +(defcustom dracula-pro-buffy-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-buffy) + +(defcustom dracula-pro-buffy-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-buffy) + +(defcustom dracula-pro-buffy-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-buffy) + +(defcustom dracula-pro-buffy-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-buffy) + +(defcustom dracula-pro-buffy-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-buffy) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-buffy-bg "#2A212C" "#2B1F2E" nil) ; Background + (dracula-pro-buffy-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-buffy-current "#544158" "#563D5C" "brightblack") ; Current-line/selection + (dracula-pro-buffy-comment "#9F70A9" "#A26AAF" "blue") ; Comment + (dracula-pro-buffy-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-buffy-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-buffy-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-buffy-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-buffy-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-buffy-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-buffy-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-buffy-bg2 "#2B1F2E" "#39293D" "brightblack") + (dracula-pro-buffy-bg3 "#39293D" "#48334D" "brightblack") + (dracula-pro-buffy-bg4 "#47334C" "#563D5C" "brightblack") + (dracula-pro-buffy-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-buffy-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-buffy-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-buffy-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-buffy-fg3) + (completions-first-difference :foreground ,dracula-pro-buffy-pink :weight bold) + (default :background ,dracula-pro-buffy-bg :foreground ,dracula-pro-buffy-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-buffy-fg4) + (fringe :background ,dracula-pro-buffy-bg :foreground ,dracula-pro-buffy-fg4) + (highlight :foreground ,dracula-pro-buffy-fg3 :background ,dracula-pro-buffy-bg3) + (hl-line :background ,dracula-pro-buffy-current :extend t) + (info-quoted-name :foreground ,dracula-pro-buffy-orange) + (info-string :foreground ,dracula-pro-buffy-yellow) + (lazy-highlight :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg2) + (link :foreground ,dracula-pro-buffy-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-buffy-bg4 :background ,dracula-pro-buffy-bg) + (line-number :slant italic :foreground ,dracula-pro-buffy-bg4 :background ,dracula-pro-buffy-bg) + (match :background ,dracula-pro-buffy-yellow :foreground ,dracula-pro-buffy-bg) + (minibuffer-prompt + ,@(if dracula-pro-buffy-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-buffy-fg) + (list :weight 'bold :foreground dracula-pro-buffy-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-buffy-orange) + (vertical-border :foreground ,dracula-pro-buffy-bg2) + (success :foreground ,dracula-pro-buffy-green) + (warning :foreground ,dracula-pro-buffy-orange) + (error :foreground ,dracula-pro-buffy-red) + (header-line :background ,dracula-pro-buffy-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-buffy-orange) + (font-lock-comment-face :foreground ,dracula-pro-buffy-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-buffy-comment) + (font-lock-constant-face :foreground ,dracula-pro-buffy-cyan) + (font-lock-doc-face :foreground ,dracula-pro-buffy-comment) + (font-lock-function-name-face :foreground ,dracula-pro-buffy-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-buffy-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-buffy-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-buffy-orange) + (font-lock-reference-face :foreground ,dracula-pro-buffy-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-buffy-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-buffy-purple) + (font-lock-string-face :foreground ,dracula-pro-buffy-yellow) + (font-lock-type-face :foreground ,dracula-pro-buffy-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-buffy-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-buffy-orange :background ,dracula-pro-buffy-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-buffy-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-fg) + (company-preview :background ,dracula-pro-buffy-bg :foreground ,dracula-pro-buffy-alt-blue) + (company-preview-common :foreground ,dracula-pro-buffy-bg2 :foreground ,dracula-pro-buffy-fg3) + (company-preview-search :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg) + (company-scrollbar-bg :background ,dracula-pro-buffy-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-buffy-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-buffy-cyan) + (company-tooltip-common :foreground ,dracula-pro-buffy-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-buffy-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-buffy-bg3 :foreground ,dracula-pro-buffy-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-buffy-orange :background ,dracula-pro-buffy-orange) + (diff-hl-delete :foreground ,dracula-pro-buffy-red :background ,dracula-pro-buffy-red) + (diff-hl-insert :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-green) + ;; dired + (dired-directory :foreground ,dracula-pro-buffy-green :weight normal) + (dired-flagged :foreground ,dracula-pro-buffy-pink) + (dired-header :foreground ,dracula-pro-buffy-fg3 :background ,dracula-pro-buffy-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-buffy-fg :weight bold) + (dired-marked :foreground ,dracula-pro-buffy-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-buffy-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-buffy-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-buffy-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-buffy-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-buffy-fg4) + (diredp-date-time :foreground ,dracula-pro-buffy-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-current) + (diredp-deletion :foreground ,dracula-pro-buffy-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-buffy-orange) + (diredp-file-name :foreground ,dracula-pro-buffy-fg) + (diredp-file-suffix :foreground ,dracula-pro-buffy-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-buffy-fg2 :slant italic :background ,dracula-pro-buffy-current) + (diredp-flag-mark :foreground ,dracula-pro-buffy-fg2 :weight bold :background ,dracula-pro-buffy-current) + (diredp-ignored-file-name :foreground ,dracula-pro-buffy-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-buffy-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-buffy-orange) + (diredp-no-priv :foreground ,dracula-pro-buffy-fg) + (diredp-number :foreground ,dracula-pro-buffy-cyan) + (diredp-other-priv :foreground ,dracula-pro-buffy-orange) + (diredp-rare-priv :foreground ,dracula-pro-buffy-orange) + (diredp-read-priv :foreground ,dracula-pro-buffy-purple) + (diredp-write-priv :foreground ,dracula-pro-buffy-pink) + (diredp-exec-priv :foreground ,dracula-pro-buffy-yellow) + (diredp-symlink :foreground ,dracula-pro-buffy-orange) + (diredp-link-priv :foreground ,dracula-pro-buffy-orange) + (diredp-autofile-name :foreground ,dracula-pro-buffy-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-buffy-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-buffy-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-buffy-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-buffy-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-buffy-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-buffy-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-buffy-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-buffy-purple) + (font-latex-italic-face :foreground ,dracula-pro-buffy-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-buffy-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-buffy-fg) + (font-latex-string-face :foreground ,dracula-pro-buffy-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-buffy-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-buffy-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-buffy-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-buffy-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-buffy-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-buffy-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-buffy-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-buffy-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-buffy-pink) + (gnus-header-from :foreground ,dracula-pro-buffy-fg) + (gnus-header-name :foreground ,dracula-pro-buffy-purple) + (gnus-header-subject :foreground ,dracula-pro-buffy-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-buffy-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-buffy-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-buffy-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-buffy-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-buffy-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-buffy-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-buffy-pink) + (haskell-constructor-face :foreground ,dracula-pro-buffy-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-buffy-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg) + (helm-buffer-process :foreground ,dracula-pro-buffy-orange :background ,dracula-pro-buffy-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (helm-buffer-size :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (helm-candidate-number :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-fg) + (helm-ff-directory :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-buffy-alt-blue :background ,dracula-pro-buffy-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (helm-grep-file :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (helm-grep-finish :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg) + (helm-grep-lineno :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-bg) + (helm-header :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-bg) + (helm-selection :background ,dracula-pro-buffy-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-buffy-bg2) + (helm-separator :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-buffy-yellow) + (helm-source-header :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-buffy-orange :background ,dracula-pro-buffy-bg) + (helm-time-zone-home :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg) + (helm-visible-mark :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-buffy-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-buffy-fg) + (icicle-special-candidate :foreground ,dracula-pro-buffy-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-buffy-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-buffy-fg) + (icicle-search-current-input :foreground ,dracula-pro-buffy-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-buffy-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-buffy-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-buffy-fg) + (icicle-saved-candidate :foreground ,dracula-pro-buffy-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-buffy-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-buffy-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-buffy-fg2 :background ,dracula-pro-buffy-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-buffy-green) + (icicle-mode-line-help :foreground ,dracula-pro-buffy-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-buffy-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-buffy-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-buffy-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-buffy-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-buffy-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-buffy-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-buffy-fg) + (icicle-historical-candidate :foreground ,dracula-pro-buffy-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-buffy-orange :background ,dracula-pro-buffy-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-buffy-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-buffy-fg4) + (icicle-completion :foreground ,dracula-pro-buffy-fg) + (icicle-complete-input :foreground ,dracula-pro-buffy-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-buffy-purple) + (icicle-candidate-part :foreground ,dracula-pro-buffy-fg) + (icicle-annotation :foreground ,dracula-pro-buffy-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-buffy-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-buffy-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-buffy-green) + (list :weight 'bold :foreground dracula-pro-buffy-pink))) + (ido-only-match :foreground ,dracula-pro-buffy-orange) + (ido-subdir :foreground ,dracula-pro-buffy-yellow) + (ido-virtual :foreground ,dracula-pro-buffy-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-buffy-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-buffy-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-buffy-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-buffy-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-buffy-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-buffy-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-buffy-purple) + (js2-function-param :foreground ,dracula-pro-buffy-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-buffy-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-buffy-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-buffy-yellow) + (js2-private-function-call :foreground ,dracula-pro-buffy-cyan) + (js2-private-member :foreground ,dracula-pro-buffy-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-buffy-orange) + (js3-external-variable-face :foreground ,dracula-pro-buffy-fg) + (js3-function-param-face :foreground ,dracula-pro-buffy-pink) + (js3-instance-member-face :foreground ,dracula-pro-buffy-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-buffy-pink) + (js3-warning-face :underline ,dracula-pro-buffy-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-buffy-cyan) + (magit-branch-remote :foreground ,dracula-pro-buffy-green) + (magit-tag :foreground ,dracula-pro-buffy-orange) + (magit-section-heading :foreground ,dracula-pro-buffy-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-buffy-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-buffy-bg3 + :foreground ,dracula-pro-buffy-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-buffy-orange + :background ,dracula-pro-buffy-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-buffy-orange + :background ,dracula-pro-buffy-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-buffy-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-buffy-green) + (magit-diffstat-removed :foreground ,dracula-pro-buffy-red) + (magit-hash :foreground ,dracula-pro-buffy-fg2) + (magit-hunk-heading :background ,dracula-pro-buffy-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-buffy-bg3) + (magit-item-highlight :background ,dracula-pro-buffy-bg3) + (magit-log-author :foreground ,dracula-pro-buffy-fg3) + (magit-process-ng :foreground ,dracula-pro-buffy-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-buffy-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-buffy-orange) + (markdown-code-face :foreground ,dracula-pro-buffy-orange) + (markdown-footnote-face :foreground ,dracula-pro-buffy-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-buffy-pink + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-buffy-purple + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-buffy-green + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-buffy-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-buffy-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-buffy-orange) + (markdown-header-face-7 :foreground ,dracula-pro-buffy-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-buffy-fg) + (markdown-inline-code-face :foreground ,dracula-pro-buffy-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-buffy-orange) + (markdown-table-face :foreground ,dracula-pro-buffy-purple) + ;; message + (message-mml :foreground ,dracula-pro-buffy-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-buffy-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-buffy-current + :box ,dracula-pro-buffy-current :inverse-video nil + ,@(if dracula-pro-buffy-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-buffy-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-buffy-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-buffy-comment :background dracula-pro-buffy-bg + :box dracula-pro-buffy-bg) + (list :foreground dracula-pro-buffy-fg :background dracula-pro-buffy-bg2 :box dracula-pro-buffy-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-buffy-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-buffy-purple) + (mu4e-highlight-face :background ,dracula-pro-buffy-bg + :foreground ,dracula-pro-buffy-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-buffy-current + :foreground ,dracula-pro-buffy-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-buffy-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-buffy-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-buffy-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-buffy-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-buffy-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-buffy-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-buffy-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-buffy-comment) + (org-agenda-done :foreground ,dracula-pro-buffy-green) + (org-agenda-structure :foreground ,dracula-pro-buffy-purple) + (org-block :foreground ,dracula-pro-buffy-orange) + (org-code :foreground ,dracula-pro-buffy-yellow) + (org-column :background ,dracula-pro-buffy-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-buffy-cyan :underline t) + (org-document-info :foreground ,dracula-pro-buffy-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-buffy-comment) + (org-document-title :weight bold :foreground ,dracula-pro-buffy-orange + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-doc-title))) + (org-done :foreground ,dracula-pro-buffy-green) + (org-ellipsis :foreground ,dracula-pro-buffy-comment) + (org-footnote :foreground ,dracula-pro-buffy-alt-blue) + (org-formula :foreground ,dracula-pro-buffy-pink) + (org-headline-done :foreground ,dracula-pro-buffy-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-buffy-pink + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-buffy-purple + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-buffy-green + ,@(when dracula-pro-buffy-enlarge-headings + (list :height dracula-pro-buffy-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-buffy-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-buffy-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-buffy-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-buffy-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-buffy-fg) + (org-link :foreground ,dracula-pro-buffy-cyan :underline t) + (org-priority :foreground ,dracula-pro-buffy-cyan) + (org-scheduled :foreground ,dracula-pro-buffy-green) + (org-scheduled-previously :foreground ,dracula-pro-buffy-yellow) + (org-scheduled-today :foreground ,dracula-pro-buffy-green) + (org-sexp-date :foreground ,dracula-pro-buffy-fg4) + (org-special-keyword :foreground ,dracula-pro-buffy-yellow) + (org-table :foreground ,dracula-pro-buffy-purple) + (org-tag :foreground ,dracula-pro-buffy-pink :weight bold :background ,dracula-pro-buffy-bg2) + (org-todo :foreground ,dracula-pro-buffy-orange :weight bold :background ,dracula-pro-buffy-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-buffy-yellow) + (org-warning :weight bold :foreground ,dracula-pro-buffy-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-buffy-pink) + (outline-2 :foreground ,dracula-pro-buffy-purple) + (outline-3 :foreground ,dracula-pro-buffy-green) + (outline-4 :foreground ,dracula-pro-buffy-yellow) + (outline-5 :foreground ,dracula-pro-buffy-cyan) + (outline-6 :foreground ,dracula-pro-buffy-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-buffy-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-buffy-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-buffy-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-buffy-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-buffy-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-buffy-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-buffy-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-buffy-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-buffy-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-buffy-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-buffy-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-buffy-green) + (rpm-spec-doc-face :foreground ,dracula-pro-buffy-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-buffy-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-buffy-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-buffy-purple) + (rpm-spec-section-face :foreground ,dracula-pro-buffy-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-buffy-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-buffy-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-buffy-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-buffy-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-buffy-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-buffy-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-bg + :box (:line-width 2 :color ,dracula-pro-buffy-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg2 + :box (:line-width 2 :color ,dracula-pro-buffy-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-bg + :box (:line-width 2 :color ,dracula-pro-buffy-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-bg2 + :box (:line-width 2 :color ,dracula-pro-buffy-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-buffy-red) + ;; term + (term :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-bg) + (term-color-black :foreground ,dracula-pro-buffy-bg :background ,dracula-pro-buffy-bg) + (term-color-blue :foreground ,dracula-pro-buffy-purple :background ,dracula-pro-buffy-purple) + (term-color-cyan :foreground ,dracula-pro-buffy-cyan :background ,dracula-pro-buffy-cyan) + (term-color-green :foreground ,dracula-pro-buffy-green :background ,dracula-pro-buffy-green) + (term-color-magenta :foreground ,dracula-pro-buffy-pink :background ,dracula-pro-buffy-pink) + (term-color-red :foreground ,dracula-pro-buffy-red :background ,dracula-pro-buffy-red) + (term-color-white :foreground ,dracula-pro-buffy-fg :background ,dracula-pro-buffy-fg) + (term-color-yellow :foreground ,dracula-pro-buffy-yellow :background ,dracula-pro-buffy-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-buffy-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-buffy-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-buffy-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-buffy-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-buffy-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-buffy-green) + (web-mode-html-tag-face :foreground ,dracula-pro-buffy-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-buffy-pink) + (web-mode-string-face :foreground ,dracula-pro-buffy-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-buffy-red :foreground ,dracula-pro-buffy-red) + (whitespace-empty :background ,dracula-pro-buffy-orange :foreground ,dracula-pro-buffy-red) + (whitespace-hspace :background ,dracula-pro-buffy-bg3 :foreground ,dracula-pro-buffy-comment) + (whitespace-indentation :background ,dracula-pro-buffy-orange :foreground ,dracula-pro-buffy-red) + (whitespace-line :background ,dracula-pro-buffy-bg :foreground ,dracula-pro-buffy-pink) + (whitespace-newline :foreground ,dracula-pro-buffy-comment) + (whitespace-space :background ,dracula-pro-buffy-bg :foreground ,dracula-pro-buffy-comment) + (whitespace-space-after-tab :background ,dracula-pro-buffy-orange :foreground ,dracula-pro-buffy-red) + (whitespace-space-before-tab :background ,dracula-pro-buffy-orange :foreground ,dracula-pro-buffy-red) + (whitespace-tab :background ,dracula-pro-buffy-bg2 :foreground ,dracula-pro-buffy-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-buffy + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-buffy) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-buffy-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-lincoln-theme.el b/themes/dracula-pro-lincoln-theme.el new file mode 100644 index 0000000..7972c46 --- /dev/null +++ b/themes/dracula-pro-lincoln-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-lincoln-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-lincoln + "Dracula PRO - Lincoln Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-lincoln nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-lincoln-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-lincoln) + +(defcustom dracula-pro-lincoln-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-lincoln) + +(defcustom dracula-pro-lincoln-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-lincoln) + +(defcustom dracula-pro-lincoln-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-lincoln) + +(defcustom dracula-pro-lincoln-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-lincoln) + +(defcustom dracula-pro-lincoln-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-lincoln) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-lincoln-bg "#2C2A21" "#2E2B1F" nil) ; Background + (dracula-pro-lincoln-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-lincoln-current "#585441" "#5C563D" "brightblack") ; Current-line/selection + (dracula-pro-lincoln-comment "#A99F70" "#AFA26A" "blue") ; Comment + (dracula-pro-lincoln-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-lincoln-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-lincoln-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-lincoln-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-lincoln-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-lincoln-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-lincoln-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-lincoln-bg2 "#2E2B1F" "#3D3929" "brightblack") + (dracula-pro-lincoln-bg3 "#3D3929" "#4D4833" "brightblack") + (dracula-pro-lincoln-bg4 "#4C4733" "#5C563D" "brightblack") + (dracula-pro-lincoln-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-lincoln-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-lincoln-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-lincoln-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-lincoln-fg3) + (completions-first-difference :foreground ,dracula-pro-lincoln-pink :weight bold) + (default :background ,dracula-pro-lincoln-bg :foreground ,dracula-pro-lincoln-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-lincoln-fg4) + (fringe :background ,dracula-pro-lincoln-bg :foreground ,dracula-pro-lincoln-fg4) + (highlight :foreground ,dracula-pro-lincoln-fg3 :background ,dracula-pro-lincoln-bg3) + (hl-line :background ,dracula-pro-lincoln-current :extend t) + (info-quoted-name :foreground ,dracula-pro-lincoln-orange) + (info-string :foreground ,dracula-pro-lincoln-yellow) + (lazy-highlight :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg2) + (link :foreground ,dracula-pro-lincoln-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-lincoln-bg4 :background ,dracula-pro-lincoln-bg) + (line-number :slant italic :foreground ,dracula-pro-lincoln-bg4 :background ,dracula-pro-lincoln-bg) + (match :background ,dracula-pro-lincoln-yellow :foreground ,dracula-pro-lincoln-bg) + (minibuffer-prompt + ,@(if dracula-pro-lincoln-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-lincoln-fg) + (list :weight 'bold :foreground dracula-pro-lincoln-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-lincoln-orange) + (vertical-border :foreground ,dracula-pro-lincoln-bg2) + (success :foreground ,dracula-pro-lincoln-green) + (warning :foreground ,dracula-pro-lincoln-orange) + (error :foreground ,dracula-pro-lincoln-red) + (header-line :background ,dracula-pro-lincoln-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-lincoln-orange) + (font-lock-comment-face :foreground ,dracula-pro-lincoln-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-lincoln-comment) + (font-lock-constant-face :foreground ,dracula-pro-lincoln-cyan) + (font-lock-doc-face :foreground ,dracula-pro-lincoln-comment) + (font-lock-function-name-face :foreground ,dracula-pro-lincoln-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-lincoln-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-lincoln-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-lincoln-orange) + (font-lock-reference-face :foreground ,dracula-pro-lincoln-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-lincoln-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-lincoln-purple) + (font-lock-string-face :foreground ,dracula-pro-lincoln-yellow) + (font-lock-type-face :foreground ,dracula-pro-lincoln-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-lincoln-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-lincoln-orange :background ,dracula-pro-lincoln-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-lincoln-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-fg) + (company-preview :background ,dracula-pro-lincoln-bg :foreground ,dracula-pro-lincoln-alt-blue) + (company-preview-common :foreground ,dracula-pro-lincoln-bg2 :foreground ,dracula-pro-lincoln-fg3) + (company-preview-search :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg) + (company-scrollbar-bg :background ,dracula-pro-lincoln-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-lincoln-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-lincoln-cyan) + (company-tooltip-common :foreground ,dracula-pro-lincoln-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-lincoln-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-lincoln-bg3 :foreground ,dracula-pro-lincoln-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-lincoln-orange :background ,dracula-pro-lincoln-orange) + (diff-hl-delete :foreground ,dracula-pro-lincoln-red :background ,dracula-pro-lincoln-red) + (diff-hl-insert :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-green) + ;; dired + (dired-directory :foreground ,dracula-pro-lincoln-green :weight normal) + (dired-flagged :foreground ,dracula-pro-lincoln-pink) + (dired-header :foreground ,dracula-pro-lincoln-fg3 :background ,dracula-pro-lincoln-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-lincoln-fg :weight bold) + (dired-marked :foreground ,dracula-pro-lincoln-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-lincoln-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-lincoln-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-lincoln-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-lincoln-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-lincoln-fg4) + (diredp-date-time :foreground ,dracula-pro-lincoln-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-current) + (diredp-deletion :foreground ,dracula-pro-lincoln-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-lincoln-orange) + (diredp-file-name :foreground ,dracula-pro-lincoln-fg) + (diredp-file-suffix :foreground ,dracula-pro-lincoln-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-lincoln-fg2 :slant italic :background ,dracula-pro-lincoln-current) + (diredp-flag-mark :foreground ,dracula-pro-lincoln-fg2 :weight bold :background ,dracula-pro-lincoln-current) + (diredp-ignored-file-name :foreground ,dracula-pro-lincoln-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-lincoln-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-lincoln-orange) + (diredp-no-priv :foreground ,dracula-pro-lincoln-fg) + (diredp-number :foreground ,dracula-pro-lincoln-cyan) + (diredp-other-priv :foreground ,dracula-pro-lincoln-orange) + (diredp-rare-priv :foreground ,dracula-pro-lincoln-orange) + (diredp-read-priv :foreground ,dracula-pro-lincoln-purple) + (diredp-write-priv :foreground ,dracula-pro-lincoln-pink) + (diredp-exec-priv :foreground ,dracula-pro-lincoln-yellow) + (diredp-symlink :foreground ,dracula-pro-lincoln-orange) + (diredp-link-priv :foreground ,dracula-pro-lincoln-orange) + (diredp-autofile-name :foreground ,dracula-pro-lincoln-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-lincoln-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-lincoln-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-lincoln-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-lincoln-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-lincoln-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-lincoln-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-lincoln-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-lincoln-purple) + (font-latex-italic-face :foreground ,dracula-pro-lincoln-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-lincoln-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-lincoln-fg) + (font-latex-string-face :foreground ,dracula-pro-lincoln-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-lincoln-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-lincoln-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-lincoln-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-lincoln-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-lincoln-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-lincoln-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-lincoln-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-lincoln-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-lincoln-pink) + (gnus-header-from :foreground ,dracula-pro-lincoln-fg) + (gnus-header-name :foreground ,dracula-pro-lincoln-purple) + (gnus-header-subject :foreground ,dracula-pro-lincoln-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-lincoln-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-lincoln-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-lincoln-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-lincoln-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-lincoln-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-lincoln-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-lincoln-pink) + (haskell-constructor-face :foreground ,dracula-pro-lincoln-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-lincoln-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg) + (helm-buffer-process :foreground ,dracula-pro-lincoln-orange :background ,dracula-pro-lincoln-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (helm-buffer-size :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (helm-candidate-number :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-fg) + (helm-ff-directory :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-lincoln-alt-blue :background ,dracula-pro-lincoln-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (helm-grep-file :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (helm-grep-finish :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg) + (helm-grep-lineno :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-bg) + (helm-header :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-bg) + (helm-selection :background ,dracula-pro-lincoln-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-lincoln-bg2) + (helm-separator :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-lincoln-yellow) + (helm-source-header :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-lincoln-orange :background ,dracula-pro-lincoln-bg) + (helm-time-zone-home :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg) + (helm-visible-mark :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-lincoln-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-lincoln-fg) + (icicle-special-candidate :foreground ,dracula-pro-lincoln-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-lincoln-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-lincoln-fg) + (icicle-search-current-input :foreground ,dracula-pro-lincoln-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-lincoln-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-lincoln-fg) + (icicle-saved-candidate :foreground ,dracula-pro-lincoln-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-lincoln-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-lincoln-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-lincoln-fg2 :background ,dracula-pro-lincoln-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-lincoln-green) + (icicle-mode-line-help :foreground ,dracula-pro-lincoln-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-lincoln-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-lincoln-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-lincoln-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-lincoln-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-lincoln-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-lincoln-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-lincoln-fg) + (icicle-historical-candidate :foreground ,dracula-pro-lincoln-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-lincoln-orange :background ,dracula-pro-lincoln-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-lincoln-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-lincoln-fg4) + (icicle-completion :foreground ,dracula-pro-lincoln-fg) + (icicle-complete-input :foreground ,dracula-pro-lincoln-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-lincoln-purple) + (icicle-candidate-part :foreground ,dracula-pro-lincoln-fg) + (icicle-annotation :foreground ,dracula-pro-lincoln-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-lincoln-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-lincoln-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-lincoln-green) + (list :weight 'bold :foreground dracula-pro-lincoln-pink))) + (ido-only-match :foreground ,dracula-pro-lincoln-orange) + (ido-subdir :foreground ,dracula-pro-lincoln-yellow) + (ido-virtual :foreground ,dracula-pro-lincoln-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-lincoln-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-lincoln-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-lincoln-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-lincoln-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-lincoln-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-lincoln-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-lincoln-purple) + (js2-function-param :foreground ,dracula-pro-lincoln-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-lincoln-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-lincoln-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-lincoln-yellow) + (js2-private-function-call :foreground ,dracula-pro-lincoln-cyan) + (js2-private-member :foreground ,dracula-pro-lincoln-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-lincoln-orange) + (js3-external-variable-face :foreground ,dracula-pro-lincoln-fg) + (js3-function-param-face :foreground ,dracula-pro-lincoln-pink) + (js3-instance-member-face :foreground ,dracula-pro-lincoln-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-lincoln-pink) + (js3-warning-face :underline ,dracula-pro-lincoln-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-lincoln-cyan) + (magit-branch-remote :foreground ,dracula-pro-lincoln-green) + (magit-tag :foreground ,dracula-pro-lincoln-orange) + (magit-section-heading :foreground ,dracula-pro-lincoln-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-lincoln-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-lincoln-bg3 + :foreground ,dracula-pro-lincoln-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-lincoln-orange + :background ,dracula-pro-lincoln-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-lincoln-orange + :background ,dracula-pro-lincoln-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-lincoln-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-lincoln-green) + (magit-diffstat-removed :foreground ,dracula-pro-lincoln-red) + (magit-hash :foreground ,dracula-pro-lincoln-fg2) + (magit-hunk-heading :background ,dracula-pro-lincoln-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-lincoln-bg3) + (magit-item-highlight :background ,dracula-pro-lincoln-bg3) + (magit-log-author :foreground ,dracula-pro-lincoln-fg3) + (magit-process-ng :foreground ,dracula-pro-lincoln-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-lincoln-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-lincoln-orange) + (markdown-code-face :foreground ,dracula-pro-lincoln-orange) + (markdown-footnote-face :foreground ,dracula-pro-lincoln-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-lincoln-pink + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-lincoln-purple + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-lincoln-green + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-lincoln-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-lincoln-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-lincoln-orange) + (markdown-header-face-7 :foreground ,dracula-pro-lincoln-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-lincoln-fg) + (markdown-inline-code-face :foreground ,dracula-pro-lincoln-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-lincoln-orange) + (markdown-table-face :foreground ,dracula-pro-lincoln-purple) + ;; message + (message-mml :foreground ,dracula-pro-lincoln-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-lincoln-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-lincoln-current + :box ,dracula-pro-lincoln-current :inverse-video nil + ,@(if dracula-pro-lincoln-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-lincoln-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-lincoln-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-lincoln-comment :background dracula-pro-lincoln-bg + :box dracula-pro-lincoln-bg) + (list :foreground dracula-pro-lincoln-fg :background dracula-pro-lincoln-bg2 :box dracula-pro-lincoln-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-lincoln-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-lincoln-purple) + (mu4e-highlight-face :background ,dracula-pro-lincoln-bg + :foreground ,dracula-pro-lincoln-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-lincoln-current + :foreground ,dracula-pro-lincoln-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-lincoln-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-lincoln-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-lincoln-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-lincoln-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-lincoln-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-lincoln-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-lincoln-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-lincoln-comment) + (org-agenda-done :foreground ,dracula-pro-lincoln-green) + (org-agenda-structure :foreground ,dracula-pro-lincoln-purple) + (org-block :foreground ,dracula-pro-lincoln-orange) + (org-code :foreground ,dracula-pro-lincoln-yellow) + (org-column :background ,dracula-pro-lincoln-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-lincoln-cyan :underline t) + (org-document-info :foreground ,dracula-pro-lincoln-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-lincoln-comment) + (org-document-title :weight bold :foreground ,dracula-pro-lincoln-orange + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-doc-title))) + (org-done :foreground ,dracula-pro-lincoln-green) + (org-ellipsis :foreground ,dracula-pro-lincoln-comment) + (org-footnote :foreground ,dracula-pro-lincoln-alt-blue) + (org-formula :foreground ,dracula-pro-lincoln-pink) + (org-headline-done :foreground ,dracula-pro-lincoln-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-lincoln-pink + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-lincoln-purple + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-lincoln-green + ,@(when dracula-pro-lincoln-enlarge-headings + (list :height dracula-pro-lincoln-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-lincoln-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-lincoln-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-lincoln-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-lincoln-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-lincoln-fg) + (org-link :foreground ,dracula-pro-lincoln-cyan :underline t) + (org-priority :foreground ,dracula-pro-lincoln-cyan) + (org-scheduled :foreground ,dracula-pro-lincoln-green) + (org-scheduled-previously :foreground ,dracula-pro-lincoln-yellow) + (org-scheduled-today :foreground ,dracula-pro-lincoln-green) + (org-sexp-date :foreground ,dracula-pro-lincoln-fg4) + (org-special-keyword :foreground ,dracula-pro-lincoln-yellow) + (org-table :foreground ,dracula-pro-lincoln-purple) + (org-tag :foreground ,dracula-pro-lincoln-pink :weight bold :background ,dracula-pro-lincoln-bg2) + (org-todo :foreground ,dracula-pro-lincoln-orange :weight bold :background ,dracula-pro-lincoln-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-lincoln-yellow) + (org-warning :weight bold :foreground ,dracula-pro-lincoln-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-lincoln-pink) + (outline-2 :foreground ,dracula-pro-lincoln-purple) + (outline-3 :foreground ,dracula-pro-lincoln-green) + (outline-4 :foreground ,dracula-pro-lincoln-yellow) + (outline-5 :foreground ,dracula-pro-lincoln-cyan) + (outline-6 :foreground ,dracula-pro-lincoln-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-lincoln-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-lincoln-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-lincoln-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-lincoln-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-lincoln-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-lincoln-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-lincoln-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-lincoln-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-lincoln-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-lincoln-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-lincoln-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-lincoln-green) + (rpm-spec-doc-face :foreground ,dracula-pro-lincoln-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-lincoln-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-lincoln-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-lincoln-purple) + (rpm-spec-section-face :foreground ,dracula-pro-lincoln-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-lincoln-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-lincoln-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-lincoln-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-lincoln-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-lincoln-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-lincoln-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-bg + :box (:line-width 2 :color ,dracula-pro-lincoln-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg2 + :box (:line-width 2 :color ,dracula-pro-lincoln-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-bg + :box (:line-width 2 :color ,dracula-pro-lincoln-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-bg2 + :box (:line-width 2 :color ,dracula-pro-lincoln-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-lincoln-red) + ;; term + (term :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-bg) + (term-color-black :foreground ,dracula-pro-lincoln-bg :background ,dracula-pro-lincoln-bg) + (term-color-blue :foreground ,dracula-pro-lincoln-purple :background ,dracula-pro-lincoln-purple) + (term-color-cyan :foreground ,dracula-pro-lincoln-cyan :background ,dracula-pro-lincoln-cyan) + (term-color-green :foreground ,dracula-pro-lincoln-green :background ,dracula-pro-lincoln-green) + (term-color-magenta :foreground ,dracula-pro-lincoln-pink :background ,dracula-pro-lincoln-pink) + (term-color-red :foreground ,dracula-pro-lincoln-red :background ,dracula-pro-lincoln-red) + (term-color-white :foreground ,dracula-pro-lincoln-fg :background ,dracula-pro-lincoln-fg) + (term-color-yellow :foreground ,dracula-pro-lincoln-yellow :background ,dracula-pro-lincoln-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-lincoln-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-lincoln-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-lincoln-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-lincoln-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-lincoln-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-lincoln-green) + (web-mode-html-tag-face :foreground ,dracula-pro-lincoln-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-lincoln-pink) + (web-mode-string-face :foreground ,dracula-pro-lincoln-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-lincoln-red :foreground ,dracula-pro-lincoln-red) + (whitespace-empty :background ,dracula-pro-lincoln-orange :foreground ,dracula-pro-lincoln-red) + (whitespace-hspace :background ,dracula-pro-lincoln-bg3 :foreground ,dracula-pro-lincoln-comment) + (whitespace-indentation :background ,dracula-pro-lincoln-orange :foreground ,dracula-pro-lincoln-red) + (whitespace-line :background ,dracula-pro-lincoln-bg :foreground ,dracula-pro-lincoln-pink) + (whitespace-newline :foreground ,dracula-pro-lincoln-comment) + (whitespace-space :background ,dracula-pro-lincoln-bg :foreground ,dracula-pro-lincoln-comment) + (whitespace-space-after-tab :background ,dracula-pro-lincoln-orange :foreground ,dracula-pro-lincoln-red) + (whitespace-space-before-tab :background ,dracula-pro-lincoln-orange :foreground ,dracula-pro-lincoln-red) + (whitespace-tab :background ,dracula-pro-lincoln-bg2 :foreground ,dracula-pro-lincoln-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-lincoln + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-lincoln) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-lincoln-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-morbius-theme.el b/themes/dracula-pro-morbius-theme.el new file mode 100644 index 0000000..01a7ed6 --- /dev/null +++ b/themes/dracula-pro-morbius-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-morbius-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-morbius + "Dracula PRO - Morbius Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-morbius nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-morbius-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-morbius) + +(defcustom dracula-pro-morbius-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-morbius) + +(defcustom dracula-pro-morbius-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-morbius) + +(defcustom dracula-pro-morbius-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-morbius) + +(defcustom dracula-pro-morbius-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-morbius) + +(defcustom dracula-pro-morbius-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-morbius) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-morbius-bg "#2C2122" "#2E1F20" nil) ; Background + (dracula-pro-morbius-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-morbius-current "#584143" "#5C3D40" "brightblack") ; Current-line/selection + (dracula-pro-morbius-comment "#A97075" "#AF6A70" "blue") ; Comment + (dracula-pro-morbius-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-morbius-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-morbius-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-morbius-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-morbius-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-morbius-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-morbius-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-morbius-bg2 "#2E1F20" "#3D292B" "brightblack") + (dracula-pro-morbius-bg3 "#3D292B" "#4D3335" "brightblack") + (dracula-pro-morbius-bg4 "#4C3335" "#5C3D40" "brightblack") + (dracula-pro-morbius-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-morbius-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-morbius-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-morbius-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-morbius-fg3) + (completions-first-difference :foreground ,dracula-pro-morbius-pink :weight bold) + (default :background ,dracula-pro-morbius-bg :foreground ,dracula-pro-morbius-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-morbius-fg4) + (fringe :background ,dracula-pro-morbius-bg :foreground ,dracula-pro-morbius-fg4) + (highlight :foreground ,dracula-pro-morbius-fg3 :background ,dracula-pro-morbius-bg3) + (hl-line :background ,dracula-pro-morbius-current :extend t) + (info-quoted-name :foreground ,dracula-pro-morbius-orange) + (info-string :foreground ,dracula-pro-morbius-yellow) + (lazy-highlight :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg2) + (link :foreground ,dracula-pro-morbius-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-morbius-bg4 :background ,dracula-pro-morbius-bg) + (line-number :slant italic :foreground ,dracula-pro-morbius-bg4 :background ,dracula-pro-morbius-bg) + (match :background ,dracula-pro-morbius-yellow :foreground ,dracula-pro-morbius-bg) + (minibuffer-prompt + ,@(if dracula-pro-morbius-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-morbius-fg) + (list :weight 'bold :foreground dracula-pro-morbius-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-morbius-orange) + (vertical-border :foreground ,dracula-pro-morbius-bg2) + (success :foreground ,dracula-pro-morbius-green) + (warning :foreground ,dracula-pro-morbius-orange) + (error :foreground ,dracula-pro-morbius-red) + (header-line :background ,dracula-pro-morbius-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-morbius-orange) + (font-lock-comment-face :foreground ,dracula-pro-morbius-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-morbius-comment) + (font-lock-constant-face :foreground ,dracula-pro-morbius-cyan) + (font-lock-doc-face :foreground ,dracula-pro-morbius-comment) + (font-lock-function-name-face :foreground ,dracula-pro-morbius-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-morbius-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-morbius-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-morbius-orange) + (font-lock-reference-face :foreground ,dracula-pro-morbius-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-morbius-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-morbius-purple) + (font-lock-string-face :foreground ,dracula-pro-morbius-yellow) + (font-lock-type-face :foreground ,dracula-pro-morbius-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-morbius-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-morbius-orange :background ,dracula-pro-morbius-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-morbius-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-fg) + (company-preview :background ,dracula-pro-morbius-bg :foreground ,dracula-pro-morbius-alt-blue) + (company-preview-common :foreground ,dracula-pro-morbius-bg2 :foreground ,dracula-pro-morbius-fg3) + (company-preview-search :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg) + (company-scrollbar-bg :background ,dracula-pro-morbius-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-morbius-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-morbius-cyan) + (company-tooltip-common :foreground ,dracula-pro-morbius-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-morbius-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-morbius-bg3 :foreground ,dracula-pro-morbius-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-morbius-orange :background ,dracula-pro-morbius-orange) + (diff-hl-delete :foreground ,dracula-pro-morbius-red :background ,dracula-pro-morbius-red) + (diff-hl-insert :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-green) + ;; dired + (dired-directory :foreground ,dracula-pro-morbius-green :weight normal) + (dired-flagged :foreground ,dracula-pro-morbius-pink) + (dired-header :foreground ,dracula-pro-morbius-fg3 :background ,dracula-pro-morbius-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-morbius-fg :weight bold) + (dired-marked :foreground ,dracula-pro-morbius-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-morbius-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-morbius-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-morbius-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-morbius-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-morbius-fg4) + (diredp-date-time :foreground ,dracula-pro-morbius-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-current) + (diredp-deletion :foreground ,dracula-pro-morbius-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-morbius-orange) + (diredp-file-name :foreground ,dracula-pro-morbius-fg) + (diredp-file-suffix :foreground ,dracula-pro-morbius-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-morbius-fg2 :slant italic :background ,dracula-pro-morbius-current) + (diredp-flag-mark :foreground ,dracula-pro-morbius-fg2 :weight bold :background ,dracula-pro-morbius-current) + (diredp-ignored-file-name :foreground ,dracula-pro-morbius-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-morbius-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-morbius-orange) + (diredp-no-priv :foreground ,dracula-pro-morbius-fg) + (diredp-number :foreground ,dracula-pro-morbius-cyan) + (diredp-other-priv :foreground ,dracula-pro-morbius-orange) + (diredp-rare-priv :foreground ,dracula-pro-morbius-orange) + (diredp-read-priv :foreground ,dracula-pro-morbius-purple) + (diredp-write-priv :foreground ,dracula-pro-morbius-pink) + (diredp-exec-priv :foreground ,dracula-pro-morbius-yellow) + (diredp-symlink :foreground ,dracula-pro-morbius-orange) + (diredp-link-priv :foreground ,dracula-pro-morbius-orange) + (diredp-autofile-name :foreground ,dracula-pro-morbius-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-morbius-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-morbius-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-morbius-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-morbius-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-morbius-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-morbius-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-morbius-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-morbius-purple) + (font-latex-italic-face :foreground ,dracula-pro-morbius-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-morbius-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-morbius-fg) + (font-latex-string-face :foreground ,dracula-pro-morbius-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-morbius-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-morbius-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-morbius-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-morbius-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-morbius-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-morbius-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-morbius-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-morbius-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-morbius-pink) + (gnus-header-from :foreground ,dracula-pro-morbius-fg) + (gnus-header-name :foreground ,dracula-pro-morbius-purple) + (gnus-header-subject :foreground ,dracula-pro-morbius-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-morbius-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-morbius-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-morbius-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-morbius-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-morbius-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-morbius-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-morbius-pink) + (haskell-constructor-face :foreground ,dracula-pro-morbius-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-morbius-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg) + (helm-buffer-process :foreground ,dracula-pro-morbius-orange :background ,dracula-pro-morbius-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (helm-buffer-size :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (helm-candidate-number :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-fg) + (helm-ff-directory :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-morbius-alt-blue :background ,dracula-pro-morbius-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (helm-grep-file :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (helm-grep-finish :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg) + (helm-grep-lineno :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-bg) + (helm-header :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-bg) + (helm-selection :background ,dracula-pro-morbius-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-morbius-bg2) + (helm-separator :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-morbius-yellow) + (helm-source-header :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-morbius-orange :background ,dracula-pro-morbius-bg) + (helm-time-zone-home :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg) + (helm-visible-mark :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-morbius-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-morbius-fg) + (icicle-special-candidate :foreground ,dracula-pro-morbius-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-morbius-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-morbius-fg) + (icicle-search-current-input :foreground ,dracula-pro-morbius-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-morbius-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-morbius-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-morbius-fg) + (icicle-saved-candidate :foreground ,dracula-pro-morbius-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-morbius-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-morbius-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-morbius-fg2 :background ,dracula-pro-morbius-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-morbius-green) + (icicle-mode-line-help :foreground ,dracula-pro-morbius-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-morbius-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-morbius-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-morbius-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-morbius-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-morbius-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-morbius-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-morbius-fg) + (icicle-historical-candidate :foreground ,dracula-pro-morbius-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-morbius-orange :background ,dracula-pro-morbius-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-morbius-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-morbius-fg4) + (icicle-completion :foreground ,dracula-pro-morbius-fg) + (icicle-complete-input :foreground ,dracula-pro-morbius-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-morbius-purple) + (icicle-candidate-part :foreground ,dracula-pro-morbius-fg) + (icicle-annotation :foreground ,dracula-pro-morbius-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-morbius-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-morbius-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-morbius-green) + (list :weight 'bold :foreground dracula-pro-morbius-pink))) + (ido-only-match :foreground ,dracula-pro-morbius-orange) + (ido-subdir :foreground ,dracula-pro-morbius-yellow) + (ido-virtual :foreground ,dracula-pro-morbius-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-morbius-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-morbius-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-morbius-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-morbius-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-morbius-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-morbius-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-morbius-purple) + (js2-function-param :foreground ,dracula-pro-morbius-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-morbius-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-morbius-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-morbius-yellow) + (js2-private-function-call :foreground ,dracula-pro-morbius-cyan) + (js2-private-member :foreground ,dracula-pro-morbius-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-morbius-orange) + (js3-external-variable-face :foreground ,dracula-pro-morbius-fg) + (js3-function-param-face :foreground ,dracula-pro-morbius-pink) + (js3-instance-member-face :foreground ,dracula-pro-morbius-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-morbius-pink) + (js3-warning-face :underline ,dracula-pro-morbius-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-morbius-cyan) + (magit-branch-remote :foreground ,dracula-pro-morbius-green) + (magit-tag :foreground ,dracula-pro-morbius-orange) + (magit-section-heading :foreground ,dracula-pro-morbius-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-morbius-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-morbius-bg3 + :foreground ,dracula-pro-morbius-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-morbius-orange + :background ,dracula-pro-morbius-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-morbius-orange + :background ,dracula-pro-morbius-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-morbius-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-morbius-green) + (magit-diffstat-removed :foreground ,dracula-pro-morbius-red) + (magit-hash :foreground ,dracula-pro-morbius-fg2) + (magit-hunk-heading :background ,dracula-pro-morbius-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-morbius-bg3) + (magit-item-highlight :background ,dracula-pro-morbius-bg3) + (magit-log-author :foreground ,dracula-pro-morbius-fg3) + (magit-process-ng :foreground ,dracula-pro-morbius-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-morbius-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-morbius-orange) + (markdown-code-face :foreground ,dracula-pro-morbius-orange) + (markdown-footnote-face :foreground ,dracula-pro-morbius-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-morbius-pink + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-morbius-purple + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-morbius-green + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-morbius-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-morbius-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-morbius-orange) + (markdown-header-face-7 :foreground ,dracula-pro-morbius-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-morbius-fg) + (markdown-inline-code-face :foreground ,dracula-pro-morbius-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-morbius-orange) + (markdown-table-face :foreground ,dracula-pro-morbius-purple) + ;; message + (message-mml :foreground ,dracula-pro-morbius-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-morbius-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-morbius-current + :box ,dracula-pro-morbius-current :inverse-video nil + ,@(if dracula-pro-morbius-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-morbius-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-morbius-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-morbius-comment :background dracula-pro-morbius-bg + :box dracula-pro-morbius-bg) + (list :foreground dracula-pro-morbius-fg :background dracula-pro-morbius-bg2 :box dracula-pro-morbius-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-morbius-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-morbius-purple) + (mu4e-highlight-face :background ,dracula-pro-morbius-bg + :foreground ,dracula-pro-morbius-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-morbius-current + :foreground ,dracula-pro-morbius-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-morbius-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-morbius-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-morbius-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-morbius-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-morbius-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-morbius-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-morbius-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-morbius-comment) + (org-agenda-done :foreground ,dracula-pro-morbius-green) + (org-agenda-structure :foreground ,dracula-pro-morbius-purple) + (org-block :foreground ,dracula-pro-morbius-orange) + (org-code :foreground ,dracula-pro-morbius-yellow) + (org-column :background ,dracula-pro-morbius-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-morbius-cyan :underline t) + (org-document-info :foreground ,dracula-pro-morbius-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-morbius-comment) + (org-document-title :weight bold :foreground ,dracula-pro-morbius-orange + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-doc-title))) + (org-done :foreground ,dracula-pro-morbius-green) + (org-ellipsis :foreground ,dracula-pro-morbius-comment) + (org-footnote :foreground ,dracula-pro-morbius-alt-blue) + (org-formula :foreground ,dracula-pro-morbius-pink) + (org-headline-done :foreground ,dracula-pro-morbius-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-morbius-pink + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-morbius-purple + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-morbius-green + ,@(when dracula-pro-morbius-enlarge-headings + (list :height dracula-pro-morbius-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-morbius-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-morbius-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-morbius-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-morbius-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-morbius-fg) + (org-link :foreground ,dracula-pro-morbius-cyan :underline t) + (org-priority :foreground ,dracula-pro-morbius-cyan) + (org-scheduled :foreground ,dracula-pro-morbius-green) + (org-scheduled-previously :foreground ,dracula-pro-morbius-yellow) + (org-scheduled-today :foreground ,dracula-pro-morbius-green) + (org-sexp-date :foreground ,dracula-pro-morbius-fg4) + (org-special-keyword :foreground ,dracula-pro-morbius-yellow) + (org-table :foreground ,dracula-pro-morbius-purple) + (org-tag :foreground ,dracula-pro-morbius-pink :weight bold :background ,dracula-pro-morbius-bg2) + (org-todo :foreground ,dracula-pro-morbius-orange :weight bold :background ,dracula-pro-morbius-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-morbius-yellow) + (org-warning :weight bold :foreground ,dracula-pro-morbius-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-morbius-pink) + (outline-2 :foreground ,dracula-pro-morbius-purple) + (outline-3 :foreground ,dracula-pro-morbius-green) + (outline-4 :foreground ,dracula-pro-morbius-yellow) + (outline-5 :foreground ,dracula-pro-morbius-cyan) + (outline-6 :foreground ,dracula-pro-morbius-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-morbius-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-morbius-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-morbius-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-morbius-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-morbius-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-morbius-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-morbius-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-morbius-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-morbius-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-morbius-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-morbius-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-morbius-green) + (rpm-spec-doc-face :foreground ,dracula-pro-morbius-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-morbius-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-morbius-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-morbius-purple) + (rpm-spec-section-face :foreground ,dracula-pro-morbius-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-morbius-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-morbius-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-morbius-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-morbius-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-morbius-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-morbius-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-bg + :box (:line-width 2 :color ,dracula-pro-morbius-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg2 + :box (:line-width 2 :color ,dracula-pro-morbius-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-bg + :box (:line-width 2 :color ,dracula-pro-morbius-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-bg2 + :box (:line-width 2 :color ,dracula-pro-morbius-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-morbius-red) + ;; term + (term :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-bg) + (term-color-black :foreground ,dracula-pro-morbius-bg :background ,dracula-pro-morbius-bg) + (term-color-blue :foreground ,dracula-pro-morbius-purple :background ,dracula-pro-morbius-purple) + (term-color-cyan :foreground ,dracula-pro-morbius-cyan :background ,dracula-pro-morbius-cyan) + (term-color-green :foreground ,dracula-pro-morbius-green :background ,dracula-pro-morbius-green) + (term-color-magenta :foreground ,dracula-pro-morbius-pink :background ,dracula-pro-morbius-pink) + (term-color-red :foreground ,dracula-pro-morbius-red :background ,dracula-pro-morbius-red) + (term-color-white :foreground ,dracula-pro-morbius-fg :background ,dracula-pro-morbius-fg) + (term-color-yellow :foreground ,dracula-pro-morbius-yellow :background ,dracula-pro-morbius-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-morbius-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-morbius-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-morbius-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-morbius-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-morbius-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-morbius-green) + (web-mode-html-tag-face :foreground ,dracula-pro-morbius-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-morbius-pink) + (web-mode-string-face :foreground ,dracula-pro-morbius-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-morbius-red :foreground ,dracula-pro-morbius-red) + (whitespace-empty :background ,dracula-pro-morbius-orange :foreground ,dracula-pro-morbius-red) + (whitespace-hspace :background ,dracula-pro-morbius-bg3 :foreground ,dracula-pro-morbius-comment) + (whitespace-indentation :background ,dracula-pro-morbius-orange :foreground ,dracula-pro-morbius-red) + (whitespace-line :background ,dracula-pro-morbius-bg :foreground ,dracula-pro-morbius-pink) + (whitespace-newline :foreground ,dracula-pro-morbius-comment) + (whitespace-space :background ,dracula-pro-morbius-bg :foreground ,dracula-pro-morbius-comment) + (whitespace-space-after-tab :background ,dracula-pro-morbius-orange :foreground ,dracula-pro-morbius-red) + (whitespace-space-before-tab :background ,dracula-pro-morbius-orange :foreground ,dracula-pro-morbius-red) + (whitespace-tab :background ,dracula-pro-morbius-bg2 :foreground ,dracula-pro-morbius-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-morbius + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-morbius) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-morbius-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-pro-theme.el b/themes/dracula-pro-pro-theme.el new file mode 100644 index 0000000..bebf7b3 --- /dev/null +++ b/themes/dracula-pro-pro-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-pro-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-pro + "Dracula PRO - Pro Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-pro nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-pro-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-pro) + +(defcustom dracula-pro-pro-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-pro) + +(defcustom dracula-pro-pro-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-pro) + +(defcustom dracula-pro-pro-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-pro) + +(defcustom dracula-pro-pro-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-pro) + +(defcustom dracula-pro-pro-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-pro) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-pro-bg "#22212C" "#201F2E" nil) ; Background + (dracula-pro-pro-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-pro-current "#454158" "#433D5C" "brightblack") ; Current-line/selection + (dracula-pro-pro-comment "#7970A9" "#756AAF" "blue") ; Comment + (dracula-pro-pro-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-pro-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-pro-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-pro-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-pro-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-pro-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-pro-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-pro-bg2 "#201F2E" "#2B293D" "brightblack") + (dracula-pro-pro-bg3 "#2B293D" "#35334D" "brightblack") + (dracula-pro-pro-bg4 "#36334C" "#3F3D5C" "brightblack") + (dracula-pro-pro-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-pro-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-pro-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-pro-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-pro-fg3) + (completions-first-difference :foreground ,dracula-pro-pro-pink :weight bold) + (default :background ,dracula-pro-pro-bg :foreground ,dracula-pro-pro-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-pro-fg4) + (fringe :background ,dracula-pro-pro-bg :foreground ,dracula-pro-pro-fg4) + (highlight :foreground ,dracula-pro-pro-fg3 :background ,dracula-pro-pro-bg3) + (hl-line :background ,dracula-pro-pro-current :extend t) + (info-quoted-name :foreground ,dracula-pro-pro-orange) + (info-string :foreground ,dracula-pro-pro-yellow) + (lazy-highlight :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg2) + (link :foreground ,dracula-pro-pro-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-pro-bg4 :background ,dracula-pro-pro-bg) + (line-number :slant italic :foreground ,dracula-pro-pro-bg4 :background ,dracula-pro-pro-bg) + (match :background ,dracula-pro-pro-yellow :foreground ,dracula-pro-pro-bg) + (minibuffer-prompt + ,@(if dracula-pro-pro-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-pro-fg) + (list :weight 'bold :foreground dracula-pro-pro-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-pro-orange) + (vertical-border :foreground ,dracula-pro-pro-bg2) + (success :foreground ,dracula-pro-pro-green) + (warning :foreground ,dracula-pro-pro-orange) + (error :foreground ,dracula-pro-pro-red) + (header-line :background ,dracula-pro-pro-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-pro-orange) + (font-lock-comment-face :foreground ,dracula-pro-pro-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-pro-comment) + (font-lock-constant-face :foreground ,dracula-pro-pro-cyan) + (font-lock-doc-face :foreground ,dracula-pro-pro-comment) + (font-lock-function-name-face :foreground ,dracula-pro-pro-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-pro-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-pro-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-pro-orange) + (font-lock-reference-face :foreground ,dracula-pro-pro-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-pro-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-pro-purple) + (font-lock-string-face :foreground ,dracula-pro-pro-yellow) + (font-lock-type-face :foreground ,dracula-pro-pro-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-pro-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-pro-orange :background ,dracula-pro-pro-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-pro-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-fg) + (company-preview :background ,dracula-pro-pro-bg :foreground ,dracula-pro-pro-alt-blue) + (company-preview-common :foreground ,dracula-pro-pro-bg2 :foreground ,dracula-pro-pro-fg3) + (company-preview-search :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg) + (company-scrollbar-bg :background ,dracula-pro-pro-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-pro-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-pro-cyan) + (company-tooltip-common :foreground ,dracula-pro-pro-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-pro-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-pro-bg3 :foreground ,dracula-pro-pro-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-pro-orange :background ,dracula-pro-pro-orange) + (diff-hl-delete :foreground ,dracula-pro-pro-red :background ,dracula-pro-pro-red) + (diff-hl-insert :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-green) + ;; dired + (dired-directory :foreground ,dracula-pro-pro-green :weight normal) + (dired-flagged :foreground ,dracula-pro-pro-pink) + (dired-header :foreground ,dracula-pro-pro-fg3 :background ,dracula-pro-pro-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-pro-fg :weight bold) + (dired-marked :foreground ,dracula-pro-pro-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-pro-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-pro-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-pro-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-pro-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-pro-fg4) + (diredp-date-time :foreground ,dracula-pro-pro-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-current) + (diredp-deletion :foreground ,dracula-pro-pro-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-pro-orange) + (diredp-file-name :foreground ,dracula-pro-pro-fg) + (diredp-file-suffix :foreground ,dracula-pro-pro-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-pro-fg2 :slant italic :background ,dracula-pro-pro-current) + (diredp-flag-mark :foreground ,dracula-pro-pro-fg2 :weight bold :background ,dracula-pro-pro-current) + (diredp-ignored-file-name :foreground ,dracula-pro-pro-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-pro-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-pro-orange) + (diredp-no-priv :foreground ,dracula-pro-pro-fg) + (diredp-number :foreground ,dracula-pro-pro-cyan) + (diredp-other-priv :foreground ,dracula-pro-pro-orange) + (diredp-rare-priv :foreground ,dracula-pro-pro-orange) + (diredp-read-priv :foreground ,dracula-pro-pro-purple) + (diredp-write-priv :foreground ,dracula-pro-pro-pink) + (diredp-exec-priv :foreground ,dracula-pro-pro-yellow) + (diredp-symlink :foreground ,dracula-pro-pro-orange) + (diredp-link-priv :foreground ,dracula-pro-pro-orange) + (diredp-autofile-name :foreground ,dracula-pro-pro-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-pro-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-pro-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-pro-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-pro-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-pro-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-pro-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-pro-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-pro-purple) + (font-latex-italic-face :foreground ,dracula-pro-pro-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-pro-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-pro-fg) + (font-latex-string-face :foreground ,dracula-pro-pro-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-pro-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-pro-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-pro-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-pro-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-pro-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-pro-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-pro-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-pro-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-pro-pink) + (gnus-header-from :foreground ,dracula-pro-pro-fg) + (gnus-header-name :foreground ,dracula-pro-pro-purple) + (gnus-header-subject :foreground ,dracula-pro-pro-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-pro-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-pro-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-pro-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-pro-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-pro-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-pro-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-pro-pink) + (haskell-constructor-face :foreground ,dracula-pro-pro-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-pro-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg) + (helm-buffer-process :foreground ,dracula-pro-pro-orange :background ,dracula-pro-pro-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (helm-buffer-size :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (helm-candidate-number :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-fg) + (helm-ff-directory :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-pro-alt-blue :background ,dracula-pro-pro-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (helm-grep-file :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (helm-grep-finish :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg) + (helm-grep-lineno :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-bg) + (helm-header :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-bg) + (helm-selection :background ,dracula-pro-pro-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-pro-bg2) + (helm-separator :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-pro-yellow) + (helm-source-header :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-pro-orange :background ,dracula-pro-pro-bg) + (helm-time-zone-home :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg) + (helm-visible-mark :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-pro-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-pro-fg) + (icicle-special-candidate :foreground ,dracula-pro-pro-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-pro-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-pro-fg) + (icicle-search-current-input :foreground ,dracula-pro-pro-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-pro-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-pro-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-pro-fg) + (icicle-saved-candidate :foreground ,dracula-pro-pro-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-pro-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-pro-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-pro-fg2 :background ,dracula-pro-pro-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-pro-green) + (icicle-mode-line-help :foreground ,dracula-pro-pro-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-pro-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-pro-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-pro-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-pro-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-pro-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-pro-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-pro-fg) + (icicle-historical-candidate :foreground ,dracula-pro-pro-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-pro-orange :background ,dracula-pro-pro-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-pro-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-pro-fg4) + (icicle-completion :foreground ,dracula-pro-pro-fg) + (icicle-complete-input :foreground ,dracula-pro-pro-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-pro-purple) + (icicle-candidate-part :foreground ,dracula-pro-pro-fg) + (icicle-annotation :foreground ,dracula-pro-pro-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-pro-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-pro-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-pro-green) + (list :weight 'bold :foreground dracula-pro-pro-pink))) + (ido-only-match :foreground ,dracula-pro-pro-orange) + (ido-subdir :foreground ,dracula-pro-pro-yellow) + (ido-virtual :foreground ,dracula-pro-pro-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-pro-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-pro-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-pro-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-pro-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-pro-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-pro-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-pro-purple) + (js2-function-param :foreground ,dracula-pro-pro-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-pro-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-pro-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-pro-yellow) + (js2-private-function-call :foreground ,dracula-pro-pro-cyan) + (js2-private-member :foreground ,dracula-pro-pro-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-pro-orange) + (js3-external-variable-face :foreground ,dracula-pro-pro-fg) + (js3-function-param-face :foreground ,dracula-pro-pro-pink) + (js3-instance-member-face :foreground ,dracula-pro-pro-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-pro-pink) + (js3-warning-face :underline ,dracula-pro-pro-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-pro-cyan) + (magit-branch-remote :foreground ,dracula-pro-pro-green) + (magit-tag :foreground ,dracula-pro-pro-orange) + (magit-section-heading :foreground ,dracula-pro-pro-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-pro-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-pro-bg3 + :foreground ,dracula-pro-pro-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-pro-orange + :background ,dracula-pro-pro-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-pro-orange + :background ,dracula-pro-pro-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-pro-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-pro-green) + (magit-diffstat-removed :foreground ,dracula-pro-pro-red) + (magit-hash :foreground ,dracula-pro-pro-fg2) + (magit-hunk-heading :background ,dracula-pro-pro-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-pro-bg3) + (magit-item-highlight :background ,dracula-pro-pro-bg3) + (magit-log-author :foreground ,dracula-pro-pro-fg3) + (magit-process-ng :foreground ,dracula-pro-pro-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-pro-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-pro-orange) + (markdown-code-face :foreground ,dracula-pro-pro-orange) + (markdown-footnote-face :foreground ,dracula-pro-pro-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-pro-pink + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-pro-purple + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-pro-green + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-pro-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-pro-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-pro-orange) + (markdown-header-face-7 :foreground ,dracula-pro-pro-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-pro-fg) + (markdown-inline-code-face :foreground ,dracula-pro-pro-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-pro-orange) + (markdown-table-face :foreground ,dracula-pro-pro-purple) + ;; message + (message-mml :foreground ,dracula-pro-pro-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-pro-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-pro-current + :box ,dracula-pro-pro-current :inverse-video nil + ,@(if dracula-pro-pro-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-pro-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-pro-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-pro-comment :background dracula-pro-pro-bg + :box dracula-pro-pro-bg) + (list :foreground dracula-pro-pro-fg :background dracula-pro-pro-bg2 :box dracula-pro-pro-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-pro-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-pro-purple) + (mu4e-highlight-face :background ,dracula-pro-pro-bg + :foreground ,dracula-pro-pro-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-pro-current + :foreground ,dracula-pro-pro-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-pro-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-pro-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-pro-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-pro-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-pro-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-pro-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-pro-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-pro-comment) + (org-agenda-done :foreground ,dracula-pro-pro-green) + (org-agenda-structure :foreground ,dracula-pro-pro-purple) + (org-block :foreground ,dracula-pro-pro-orange) + (org-code :foreground ,dracula-pro-pro-yellow) + (org-column :background ,dracula-pro-pro-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-pro-cyan :underline t) + (org-document-info :foreground ,dracula-pro-pro-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-pro-comment) + (org-document-title :weight bold :foreground ,dracula-pro-pro-orange + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-doc-title))) + (org-done :foreground ,dracula-pro-pro-green) + (org-ellipsis :foreground ,dracula-pro-pro-comment) + (org-footnote :foreground ,dracula-pro-pro-alt-blue) + (org-formula :foreground ,dracula-pro-pro-pink) + (org-headline-done :foreground ,dracula-pro-pro-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-pro-pink + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-pro-purple + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-pro-green + ,@(when dracula-pro-pro-enlarge-headings + (list :height dracula-pro-pro-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-pro-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-pro-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-pro-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-pro-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-pro-fg) + (org-link :foreground ,dracula-pro-pro-cyan :underline t) + (org-priority :foreground ,dracula-pro-pro-cyan) + (org-scheduled :foreground ,dracula-pro-pro-green) + (org-scheduled-previously :foreground ,dracula-pro-pro-yellow) + (org-scheduled-today :foreground ,dracula-pro-pro-green) + (org-sexp-date :foreground ,dracula-pro-pro-fg4) + (org-special-keyword :foreground ,dracula-pro-pro-yellow) + (org-table :foreground ,dracula-pro-pro-purple) + (org-tag :foreground ,dracula-pro-pro-pink :weight bold :background ,dracula-pro-pro-bg2) + (org-todo :foreground ,dracula-pro-pro-orange :weight bold :background ,dracula-pro-pro-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-pro-yellow) + (org-warning :weight bold :foreground ,dracula-pro-pro-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-pro-pink) + (outline-2 :foreground ,dracula-pro-pro-purple) + (outline-3 :foreground ,dracula-pro-pro-green) + (outline-4 :foreground ,dracula-pro-pro-yellow) + (outline-5 :foreground ,dracula-pro-pro-cyan) + (outline-6 :foreground ,dracula-pro-pro-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-pro-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-pro-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-pro-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-pro-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-pro-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-pro-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-pro-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-pro-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-pro-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-pro-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-pro-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-pro-green) + (rpm-spec-doc-face :foreground ,dracula-pro-pro-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-pro-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-pro-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-pro-purple) + (rpm-spec-section-face :foreground ,dracula-pro-pro-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-pro-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-pro-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-pro-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-pro-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-pro-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-pro-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-bg + :box (:line-width 2 :color ,dracula-pro-pro-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg2 + :box (:line-width 2 :color ,dracula-pro-pro-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-bg + :box (:line-width 2 :color ,dracula-pro-pro-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-bg2 + :box (:line-width 2 :color ,dracula-pro-pro-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-pro-red) + ;; term + (term :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-bg) + (term-color-black :foreground ,dracula-pro-pro-bg :background ,dracula-pro-pro-bg) + (term-color-blue :foreground ,dracula-pro-pro-purple :background ,dracula-pro-pro-purple) + (term-color-cyan :foreground ,dracula-pro-pro-cyan :background ,dracula-pro-pro-cyan) + (term-color-green :foreground ,dracula-pro-pro-green :background ,dracula-pro-pro-green) + (term-color-magenta :foreground ,dracula-pro-pro-pink :background ,dracula-pro-pro-pink) + (term-color-red :foreground ,dracula-pro-pro-red :background ,dracula-pro-pro-red) + (term-color-white :foreground ,dracula-pro-pro-fg :background ,dracula-pro-pro-fg) + (term-color-yellow :foreground ,dracula-pro-pro-yellow :background ,dracula-pro-pro-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-pro-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-pro-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-pro-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-pro-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-pro-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-pro-green) + (web-mode-html-tag-face :foreground ,dracula-pro-pro-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-pro-pink) + (web-mode-string-face :foreground ,dracula-pro-pro-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-pro-red :foreground ,dracula-pro-pro-red) + (whitespace-empty :background ,dracula-pro-pro-orange :foreground ,dracula-pro-pro-red) + (whitespace-hspace :background ,dracula-pro-pro-bg3 :foreground ,dracula-pro-pro-comment) + (whitespace-indentation :background ,dracula-pro-pro-orange :foreground ,dracula-pro-pro-red) + (whitespace-line :background ,dracula-pro-pro-bg :foreground ,dracula-pro-pro-pink) + (whitespace-newline :foreground ,dracula-pro-pro-comment) + (whitespace-space :background ,dracula-pro-pro-bg :foreground ,dracula-pro-pro-comment) + (whitespace-space-after-tab :background ,dracula-pro-pro-orange :foreground ,dracula-pro-pro-red) + (whitespace-space-before-tab :background ,dracula-pro-pro-orange :foreground ,dracula-pro-pro-red) + (whitespace-tab :background ,dracula-pro-pro-bg2 :foreground ,dracula-pro-pro-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-pro + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-pro) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-pro-theme.el ends here \ No newline at end of file diff --git a/themes/dracula-pro-vanhelsing-theme.el b/themes/dracula-pro-vanhelsing-theme.el new file mode 100644 index 0000000..dd77869 --- /dev/null +++ b/themes/dracula-pro-vanhelsing-theme.el @@ -0,0 +1,638 @@ +;;; dracula-pro-vanhelsing-theme.el --- Dracula Pro + +;; Copyright (C) 2020-Today Dracula Theme. + +;; Author: Dracula Team +;; Version: 1.0.0 +;; Package-Requires: ((emacs "24.3")) +;; URL: https://draculatheme.com/pro + +;;; Commentary: +;; Dracula PRO is a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. + +;;; Code: + +(require 'cl-lib) +(deftheme dracula-pro-vanhelsing + "Dracula PRO - Van-Helsing Variant") + + +;;;; Configuration options: + +(defgroup dracula-pro-vanhelsing nil + "Dracula theme options. + +The theme has to be reloaded after changing anything in this group." + :group 'faces) + +(defcustom dracula-pro-vanhelsing-enlarge-headings t + "Use different font sizes for some headings and titles." + :type 'boolean + :group 'dracula-pro-vanhelsing) + +(defcustom dracula-pro-vanhelsing-height-title-1 1.3 + "Font size 100%." + :type 'number + :group 'dracula-pro-vanhelsing) + +(defcustom dracula-pro-vanhelsing-height-title-2 1.1 + "Font size 110%." + :type 'number + :group 'dracula-pro-vanhelsing) + +(defcustom dracula-pro-vanhelsing-height-title-3 1.0 + "Font size 130%." + :type 'number + :group 'dracula-pro-vanhelsing) + +(defcustom dracula-pro-vanhelsing-height-doc-title 1.44 + "Font size 144%." + :type 'number + :group 'dracula-pro-vanhelsing) + +(defcustom dracula-pro-vanhelsing-alternate-mode-line-and-minibuffer nil + "Use less bold and pink in the minibuffer." + :type 'boolean + :group 'dracula-pro-vanhelsing) + + +;;;; Theme definition: + +;; Assigment form: VARIABLE COLOR [TTY-COLOR] +(let ((colors '(;; Upstream theme color + (dracula-pro-vanhelsing-bg "#0B0D0F" "#0A0D10" nil) ; Background + (dracula-pro-vanhelsing-fg "#F8F8F2" "#F9F9F1" "brightwhite") ; Foreground + (dracula-pro-vanhelsing-current "#414D58" "#3D4D5C" "brightblack") ; Current-line/selection + (dracula-pro-vanhelsing-comment "#708DA9" "#6A8DAF" "blue") ; Comment + (dracula-pro-vanhelsing-cyan "#80FFEA" "#86F9E6" "brightcyan") ; Cyan + (dracula-pro-vanhelsing-green "#8AFF80" "#8FF986" "green") ; Green + (dracula-pro-vanhelsing-orange "#FFCA80" "#F9C986" "brightred") ; Orange + (dracula-pro-vanhelsing-pink "#FF80BF" "#F986BF" "magenta") ; Pink + (dracula-pro-vanhelsing-purple "#9580FF" "#9986F9" "brightmagenta") ; Purple + (dracula-pro-vanhelsing-red "#FF9580" "#F99986" "red") ; Red + (dracula-pro-vanhelsing-yellow "#FFFF80" "#F9F986" "yellow") ; Yellow + ;; Other colors + (dracula-pro-vanhelsing-bg2 "#1F272E" "#29333D" "brightblack") + (dracula-pro-vanhelsing-bg3 "#29333D" "#33404D" "brightblack") + (dracula-pro-vanhelsing-bg4 "#33404C" "#3D4D5C" "brightblack") + (dracula-pro-vanhelsing-fg2 "#EDEDDE" "#EBEBE0" "brightwhite") + (dracula-pro-vanhelsing-fg3 "#D6D6C2" "#D1D1C7" "white") + (dracula-pro-vanhelsing-fg4 "#BABAAB" "#B3B3B3" "white") + (dracula-pro-vanhelsing-alt-blue "#8A75F0" "#846EF7" "brightblue"))) + (faces '(;; default + (cursor :background ,dracula-pro-vanhelsing-fg3) + (completions-first-difference :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (default :background ,dracula-pro-vanhelsing-bg :foreground ,dracula-pro-vanhelsing-fg) + (default-italic :slant italic) + (ffap :foreground ,dracula-pro-vanhelsing-fg4) + (fringe :background ,dracula-pro-vanhelsing-bg :foreground ,dracula-pro-vanhelsing-fg4) + (highlight :foreground ,dracula-pro-vanhelsing-fg3 :background ,dracula-pro-vanhelsing-bg3) + (hl-line :background ,dracula-pro-vanhelsing-current :extend t) + (info-quoted-name :foreground ,dracula-pro-vanhelsing-orange) + (info-string :foreground ,dracula-pro-vanhelsing-yellow) + (lazy-highlight :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg2) + (link :foreground ,dracula-pro-vanhelsing-cyan :underline t) + (linum :slant italic :foreground ,dracula-pro-vanhelsing-bg4 :background ,dracula-pro-vanhelsing-bg) + (line-number :slant italic :foreground ,dracula-pro-vanhelsing-bg4 :background ,dracula-pro-vanhelsing-bg) + (match :background ,dracula-pro-vanhelsing-yellow :foreground ,dracula-pro-vanhelsing-bg) + (minibuffer-prompt + ,@(if dracula-pro-vanhelsing-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-vanhelsing-fg) + (list :weight 'bold :foreground dracula-pro-vanhelsing-pink))) + (read-multiple-choice-face :inherit completions-first-difference) + (region :inherit match :extend t) + (trailing-whitespace :foreground nil :background ,dracula-pro-vanhelsing-orange) + (vertical-border :foreground ,dracula-pro-vanhelsing-bg2) + (success :foreground ,dracula-pro-vanhelsing-green) + (warning :foreground ,dracula-pro-vanhelsing-orange) + (error :foreground ,dracula-pro-vanhelsing-red) + (header-line :background ,dracula-pro-vanhelsing-bg) + ;; syntax + (font-lock-builtin-face :foreground ,dracula-pro-vanhelsing-orange) + (font-lock-comment-face :foreground ,dracula-pro-vanhelsing-comment) + (font-lock-comment-delimiter-face :foreground ,dracula-pro-vanhelsing-comment) + (font-lock-constant-face :foreground ,dracula-pro-vanhelsing-cyan) + (font-lock-doc-face :foreground ,dracula-pro-vanhelsing-comment) + (font-lock-function-name-face :foreground ,dracula-pro-vanhelsing-green :weight bold) + (font-lock-keyword-face :weight bold :foreground ,dracula-pro-vanhelsing-pink) + (font-lock-negation-char-face :foreground ,dracula-pro-vanhelsing-cyan) + (font-lock-preprocessor-face :foreground ,dracula-pro-vanhelsing-orange) + (font-lock-reference-face :foreground ,dracula-pro-vanhelsing-cyan) + (font-lock-regexp-grouping-backslash :foreground ,dracula-pro-vanhelsing-cyan) + (font-lock-regexp-grouping-construct :foreground ,dracula-pro-vanhelsing-purple) + (font-lock-string-face :foreground ,dracula-pro-vanhelsing-yellow) + (font-lock-type-face :foreground ,dracula-pro-vanhelsing-purple) + (font-lock-variable-name-face :foreground ,dracula-pro-vanhelsing-fg + :weight bold) + (font-lock-warning-face :foreground ,dracula-pro-vanhelsing-orange :background ,dracula-pro-vanhelsing-bg2) + ;; auto-complete + (ac-completion-face :underline t :foreground ,dracula-pro-vanhelsing-pink) + ;; company + (company-echo-common :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-fg) + (company-preview :background ,dracula-pro-vanhelsing-bg :foreground ,dracula-pro-vanhelsing-alt-blue) + (company-preview-common :foreground ,dracula-pro-vanhelsing-bg2 :foreground ,dracula-pro-vanhelsing-fg3) + (company-preview-search :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg) + (company-scrollbar-bg :background ,dracula-pro-vanhelsing-bg3) + (company-scrollbar-fg :foreground ,dracula-pro-vanhelsing-pink) + (company-template-field :inherit match) + (company-tooltip :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg :weight bold) + (company-tooltip-annotation :foreground ,dracula-pro-vanhelsing-cyan) + (company-tooltip-common :foreground ,dracula-pro-vanhelsing-fg3) + (company-tooltip-common-selection :foreground ,dracula-pro-vanhelsing-yellow) + (company-tooltip-mouse :inherit highlight) + (company-tooltip-selection :background ,dracula-pro-vanhelsing-bg3 :foreground ,dracula-pro-vanhelsing-fg3) + ;; diff-hl + (diff-hl-change :foreground ,dracula-pro-vanhelsing-orange :background ,dracula-pro-vanhelsing-orange) + (diff-hl-delete :foreground ,dracula-pro-vanhelsing-red :background ,dracula-pro-vanhelsing-red) + (diff-hl-insert :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-green) + ;; dired + (dired-directory :foreground ,dracula-pro-vanhelsing-green :weight normal) + (dired-flagged :foreground ,dracula-pro-vanhelsing-pink) + (dired-header :foreground ,dracula-pro-vanhelsing-fg3 :background ,dracula-pro-vanhelsing-bg) + (dired-ignored :inherit shadow) + (dired-mark :foreground ,dracula-pro-vanhelsing-fg :weight bold) + (dired-marked :foreground ,dracula-pro-vanhelsing-orange :weight bold) + (dired-perm-write :foreground ,dracula-pro-vanhelsing-fg3 :underline t) + (dired-symlink :foreground ,dracula-pro-vanhelsing-yellow :weight normal :slant italic) + (dired-warning :foreground ,dracula-pro-vanhelsing-orange :underline t) + (diredp-compressed-file-name :foreground ,dracula-pro-vanhelsing-fg3) + (diredp-compressed-file-suffix :foreground ,dracula-pro-vanhelsing-fg4) + (diredp-date-time :foreground ,dracula-pro-vanhelsing-fg) + (diredp-deletion-file-name :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-current) + (diredp-deletion :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (diredp-dir-heading :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg4) + (diredp-dir-name :inherit dired-directory) + (diredp-dir-priv :inherit dired-directory) + (diredp-executable-tag :foreground ,dracula-pro-vanhelsing-orange) + (diredp-file-name :foreground ,dracula-pro-vanhelsing-fg) + (diredp-file-suffix :foreground ,dracula-pro-vanhelsing-fg4) + (diredp-flag-mark-line :foreground ,dracula-pro-vanhelsing-fg2 :slant italic :background ,dracula-pro-vanhelsing-current) + (diredp-flag-mark :foreground ,dracula-pro-vanhelsing-fg2 :weight bold :background ,dracula-pro-vanhelsing-current) + (diredp-ignored-file-name :foreground ,dracula-pro-vanhelsing-fg) + (diredp-mode-line-flagged :foreground ,dracula-pro-vanhelsing-orange) + (diredp-mode-line-marked :foreground ,dracula-pro-vanhelsing-orange) + (diredp-no-priv :foreground ,dracula-pro-vanhelsing-fg) + (diredp-number :foreground ,dracula-pro-vanhelsing-cyan) + (diredp-other-priv :foreground ,dracula-pro-vanhelsing-orange) + (diredp-rare-priv :foreground ,dracula-pro-vanhelsing-orange) + (diredp-read-priv :foreground ,dracula-pro-vanhelsing-purple) + (diredp-write-priv :foreground ,dracula-pro-vanhelsing-pink) + (diredp-exec-priv :foreground ,dracula-pro-vanhelsing-yellow) + (diredp-symlink :foreground ,dracula-pro-vanhelsing-orange) + (diredp-link-priv :foreground ,dracula-pro-vanhelsing-orange) + (diredp-autofile-name :foreground ,dracula-pro-vanhelsing-yellow) + (diredp-tagged-autofile-name :foreground ,dracula-pro-vanhelsing-yellow) + ;; enh-ruby + (enh-ruby-heredoc-delimiter-face :foreground ,dracula-pro-vanhelsing-yellow) + (enh-ruby-op-face :foreground ,dracula-pro-vanhelsing-pink) + (enh-ruby-regexp-delimiter-face :foreground ,dracula-pro-vanhelsing-yellow) + (enh-ruby-string-delimiter-face :foreground ,dracula-pro-vanhelsing-yellow) + ;; flyspell + (flyspell-duplicate :underline (:style wave :color ,dracula-pro-vanhelsing-orange)) + (flyspell-incorrect :underline (:style wave :color ,dracula-pro-vanhelsing-red)) + ;; font-latex + (font-latex-bold-face :foreground ,dracula-pro-vanhelsing-purple) + (font-latex-italic-face :foreground ,dracula-pro-vanhelsing-pink :slant italic) + (font-latex-match-reference-keywords :foreground ,dracula-pro-vanhelsing-cyan) + (font-latex-match-variable-keywords :foreground ,dracula-pro-vanhelsing-fg) + (font-latex-string-face :foreground ,dracula-pro-vanhelsing-yellow) + ;; gnus-group + (gnus-group-mail-1 :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (gnus-group-mail-1-empty :inherit gnus-group-mail-1 :weight normal) + (gnus-group-mail-2 :foreground ,dracula-pro-vanhelsing-cyan :weight bold) + (gnus-group-mail-2-empty :inherit gnus-group-mail-2 :weight normal) + (gnus-group-mail-3 :foreground ,dracula-pro-vanhelsing-comment :weight bold) + (gnus-group-mail-3-empty :inherit gnus-group-mail-3 :weight normal) + (gnus-group-mail-low :foreground ,dracula-pro-vanhelsing-current :weight bold) + (gnus-group-mail-low-empty :inherit gnus-group-mail-low :weight normal) + (gnus-group-news-1 :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (gnus-group-news-1-empty :inherit gnus-group-news-1 :weight normal) + (gnus-group-news-2 :foreground ,dracula-pro-vanhelsing-cyan :weight bold) + (gnus-group-news-2-empty :inherit gnus-group-news-2 :weight normal) + (gnus-group-news-3 :foreground ,dracula-pro-vanhelsing-comment :weight bold) + (gnus-group-news-3-empty :inherit gnus-group-news-3 :weight normal) + (gnus-group-news-4 :inherit gnus-group-news-low) + (gnus-group-news-4-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-5 :inherit gnus-group-news-low) + (gnus-group-news-5-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-6 :inherit gnus-group-news-low) + (gnus-group-news-6-empty :inherit gnus-group-news-low-empty) + (gnus-group-news-low :foreground ,dracula-pro-vanhelsing-current :weight bold) + (gnus-group-news-low-empty :inherit gnus-group-news-low :weight normal) + (gnus-header-content :foreground ,dracula-pro-vanhelsing-pink) + (gnus-header-from :foreground ,dracula-pro-vanhelsing-fg) + (gnus-header-name :foreground ,dracula-pro-vanhelsing-purple) + (gnus-header-subject :foreground ,dracula-pro-vanhelsing-green :weight bold) + (gnus-summary-markup-face :foreground ,dracula-pro-vanhelsing-cyan) + (gnus-summary-high-unread :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (gnus-summary-high-read :inherit gnus-summary-high-unread :weight normal) + (gnus-summary-high-ancient :inherit gnus-summary-high-read) + (gnus-summary-high-ticked :inherit gnus-summary-high-read :underline t) + (gnus-summary-normal-unread :foreground ,dracula-pro-vanhelsing-alt-blue :weight bold) + (gnus-summary-normal-read :foreground ,dracula-pro-vanhelsing-comment :weight normal) + (gnus-summary-normal-ancient :inherit gnus-summary-normal-read :weight light) + (gnus-summary-normal-ticked :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (gnus-summary-low-unread :foreground ,dracula-pro-vanhelsing-comment :weight bold) + (gnus-summary-low-read :inherit gnus-summary-low-unread :weight normal) + (gnus-summary-low-ancient :inherit gnus-summary-low-read) + (gnus-summary-low-ticked :inherit gnus-summary-low-read :underline t) + (gnus-summary-selected :inverse-video t) + ;; haskell-mode + (haskell-operator-face :foreground ,dracula-pro-vanhelsing-pink) + (haskell-constructor-face :foreground ,dracula-pro-vanhelsing-purple) + ;; helm + (helm-bookmark-w3m :foreground ,dracula-pro-vanhelsing-purple) + (helm-buffer-not-saved :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg) + (helm-buffer-process :foreground ,dracula-pro-vanhelsing-orange :background ,dracula-pro-vanhelsing-bg) + (helm-buffer-saved-out :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (helm-buffer-size :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (helm-candidate-number :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-fg) + (helm-ff-directory :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-bg :weight bold) + (helm-ff-dotted-directory :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-bg :weight normal) + (helm-ff-executable :foreground ,dracula-pro-vanhelsing-alt-blue :background ,dracula-pro-vanhelsing-bg :weight normal) + (helm-ff-file :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg :weight normal) + (helm-ff-invalid-symlink :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-bg :weight bold) + (helm-ff-prefix :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-pink :weight normal) + (helm-ff-symlink :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-bg :weight bold) + (helm-grep-cmd-line :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (helm-grep-file :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (helm-grep-finish :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg) + (helm-grep-lineno :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (helm-grep-match :foreground nil :background nil :inherit helm-match) + (helm-grep-running :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-bg) + (helm-header :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg :underline nil :box nil) + (helm-moccur-buffer :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-bg) + (helm-selection :background ,dracula-pro-vanhelsing-bg2 :underline nil) + (helm-selection-line :background ,dracula-pro-vanhelsing-bg2) + (helm-separator :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg) + (helm-source-go-package-godoc-description :foreground ,dracula-pro-vanhelsing-yellow) + (helm-source-header :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-bg :underline nil :weight bold) + (helm-time-zone-current :foreground ,dracula-pro-vanhelsing-orange :background ,dracula-pro-vanhelsing-bg) + (helm-time-zone-home :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg) + (helm-visible-mark :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-bg3) + ;; highlight-indentation minor mode + (highlight-indentation-face :background ,dracula-pro-vanhelsing-bg2) + ;; icicle + (icicle-whitespace-highlight :background ,dracula-pro-vanhelsing-fg) + (icicle-special-candidate :foreground ,dracula-pro-vanhelsing-fg2) + (icicle-extra-candidate :foreground ,dracula-pro-vanhelsing-fg2) + (icicle-search-main-regexp-others :foreground ,dracula-pro-vanhelsing-fg) + (icicle-search-current-input :foreground ,dracula-pro-vanhelsing-pink) + (icicle-search-context-level-8 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-7 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-6 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-5 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-4 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-3 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-2 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-context-level-1 :foreground ,dracula-pro-vanhelsing-orange) + (icicle-search-main-regexp-current :foreground ,dracula-pro-vanhelsing-fg) + (icicle-saved-candidate :foreground ,dracula-pro-vanhelsing-fg) + (icicle-proxy-candidate :foreground ,dracula-pro-vanhelsing-fg) + (icicle-mustmatch-completion :foreground ,dracula-pro-vanhelsing-purple) + (icicle-multi-command-completion :foreground ,dracula-pro-vanhelsing-fg2 :background ,dracula-pro-vanhelsing-bg2) + (icicle-msg-emphasis :foreground ,dracula-pro-vanhelsing-green) + (icicle-mode-line-help :foreground ,dracula-pro-vanhelsing-fg4) + (icicle-match-highlight-minibuffer :foreground ,dracula-pro-vanhelsing-orange) + (icicle-match-highlight-Completions :foreground ,dracula-pro-vanhelsing-green) + (icicle-key-complete-menu-local :foreground ,dracula-pro-vanhelsing-fg) + (icicle-key-complete-menu :foreground ,dracula-pro-vanhelsing-fg) + (icicle-input-completion-fail-lax :foreground ,dracula-pro-vanhelsing-pink) + (icicle-input-completion-fail :foreground ,dracula-pro-vanhelsing-pink) + (icicle-historical-candidate-other :foreground ,dracula-pro-vanhelsing-fg) + (icicle-historical-candidate :foreground ,dracula-pro-vanhelsing-fg) + (icicle-current-candidate-highlight :foreground ,dracula-pro-vanhelsing-orange :background ,dracula-pro-vanhelsing-bg3) + (icicle-Completions-instruction-2 :foreground ,dracula-pro-vanhelsing-fg4) + (icicle-Completions-instruction-1 :foreground ,dracula-pro-vanhelsing-fg4) + (icicle-completion :foreground ,dracula-pro-vanhelsing-fg) + (icicle-complete-input :foreground ,dracula-pro-vanhelsing-orange) + (icicle-common-match-highlight-Completions :foreground ,dracula-pro-vanhelsing-purple) + (icicle-candidate-part :foreground ,dracula-pro-vanhelsing-fg) + (icicle-annotation :foreground ,dracula-pro-vanhelsing-fg4) + ;; icomplete + (icompletep-determined :foreground ,dracula-pro-vanhelsing-orange) + ;; ido + (ido-first-match + ,@(if dracula-pro-vanhelsing-alternate-mode-line-and-minibuffer + (list :weight 'normal :foreground dracula-pro-vanhelsing-green) + (list :weight 'bold :foreground dracula-pro-vanhelsing-pink))) + (ido-only-match :foreground ,dracula-pro-vanhelsing-orange) + (ido-subdir :foreground ,dracula-pro-vanhelsing-yellow) + (ido-virtual :foreground ,dracula-pro-vanhelsing-cyan) + (ido-incomplete-regexp :inherit font-lock-warning-face) + (ido-indicator :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-pink) + ;; isearch + (isearch :inherit match :weight bold) + (isearch-fail :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-orange) + ;; jde-java + (jde-java-font-lock-constant-face :foreground ,dracula-pro-vanhelsing-cyan) + (jde-java-font-lock-modifier-face :foreground ,dracula-pro-vanhelsing-pink) + (jde-java-font-lock-number-face :foreground ,dracula-pro-vanhelsing-fg) + (jde-java-font-lock-package-face :foreground ,dracula-pro-vanhelsing-fg) + (jde-java-font-lock-private-face :foreground ,dracula-pro-vanhelsing-pink) + (jde-java-font-lock-public-face :foreground ,dracula-pro-vanhelsing-pink) + ;; js2-mode + (js2-external-variable :foreground ,dracula-pro-vanhelsing-purple) + (js2-function-param :foreground ,dracula-pro-vanhelsing-cyan) + (js2-jsdoc-html-tag-delimiter :foreground ,dracula-pro-vanhelsing-yellow) + (js2-jsdoc-html-tag-name :foreground ,dracula-pro-vanhelsing-alt-blue) + (js2-jsdoc-value :foreground ,dracula-pro-vanhelsing-yellow) + (js2-private-function-call :foreground ,dracula-pro-vanhelsing-cyan) + (js2-private-member :foreground ,dracula-pro-vanhelsing-fg3) + ;; js3-mode + (js3-error-face :underline ,dracula-pro-vanhelsing-orange) + (js3-external-variable-face :foreground ,dracula-pro-vanhelsing-fg) + (js3-function-param-face :foreground ,dracula-pro-vanhelsing-pink) + (js3-instance-member-face :foreground ,dracula-pro-vanhelsing-cyan) + (js3-jsdoc-tag-face :foreground ,dracula-pro-vanhelsing-pink) + (js3-warning-face :underline ,dracula-pro-vanhelsing-pink) + ;; magit + (magit-branch-local :foreground ,dracula-pro-vanhelsing-cyan) + (magit-branch-remote :foreground ,dracula-pro-vanhelsing-green) + (magit-tag :foreground ,dracula-pro-vanhelsing-orange) + (magit-section-heading :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (magit-section-highlight :background ,dracula-pro-vanhelsing-bg3 :extend t) + (magit-diff-context-highlight :background ,dracula-pro-vanhelsing-bg3 + :foreground ,dracula-pro-vanhelsing-fg3 + :extend t) + (magit-diff-revision-summary :foreground ,dracula-pro-vanhelsing-orange + :background ,dracula-pro-vanhelsing-bg + :weight bold) + (magit-diff-revision-summary-highlight :foreground ,dracula-pro-vanhelsing-orange + :background ,dracula-pro-vanhelsing-bg3 + :weight bold + :extend t) + ;; the four following lines are just a patch of the + ;; upstream color to add the extend keyword. + (magit-diff-added :background "#335533" + :foreground "#ddffdd" + :extend t) + (magit-diff-added-highlight :background "#336633" + :foreground "#cceecc" + :extend t) + (magit-diff-removed :background "#553333" + :foreground "#ffdddd" + :extend t) + (magit-diff-removed-highlight :background "#663333" + :foreground "#eecccc" + :extend t) + (magit-diff-file-heading :foreground ,dracula-pro-vanhelsing-fg) + (magit-diff-file-heading-highlight :inherit magit-section-highlight) + (magit-diffstat-added :foreground ,dracula-pro-vanhelsing-green) + (magit-diffstat-removed :foreground ,dracula-pro-vanhelsing-red) + (magit-hash :foreground ,dracula-pro-vanhelsing-fg2) + (magit-hunk-heading :background ,dracula-pro-vanhelsing-bg3) + (magit-hunk-heading-highlight :background ,dracula-pro-vanhelsing-bg3) + (magit-item-highlight :background ,dracula-pro-vanhelsing-bg3) + (magit-log-author :foreground ,dracula-pro-vanhelsing-fg3) + (magit-process-ng :foreground ,dracula-pro-vanhelsing-orange :weight bold) + (magit-process-ok :foreground ,dracula-pro-vanhelsing-green :weight bold) + ;; markdown + (markdown-blockquote-face :foreground ,dracula-pro-vanhelsing-orange) + (markdown-code-face :foreground ,dracula-pro-vanhelsing-orange) + (markdown-footnote-face :foreground ,dracula-pro-vanhelsing-alt-blue) + (markdown-header-face :weight normal) + (markdown-header-face-1 + :inherit bold :foreground ,dracula-pro-vanhelsing-pink + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-1))) + (markdown-header-face-2 + :inherit bold :foreground ,dracula-pro-vanhelsing-purple + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-2))) + (markdown-header-face-3 + :foreground ,dracula-pro-vanhelsing-green + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-3))) + (markdown-header-face-4 :foreground ,dracula-pro-vanhelsing-yellow) + (markdown-header-face-5 :foreground ,dracula-pro-vanhelsing-cyan) + (markdown-header-face-6 :foreground ,dracula-pro-vanhelsing-orange) + (markdown-header-face-7 :foreground ,dracula-pro-vanhelsing-alt-blue) + (markdown-header-face-8 :foreground ,dracula-pro-vanhelsing-fg) + (markdown-inline-code-face :foreground ,dracula-pro-vanhelsing-yellow) + (markdown-plain-url-face :inherit link) + (markdown-pre-face :foreground ,dracula-pro-vanhelsing-orange) + (markdown-table-face :foreground ,dracula-pro-vanhelsing-purple) + ;; message + (message-mml :foreground ,dracula-pro-vanhelsing-green :weight normal) + (message-header-xheader :foreground ,dracula-pro-vanhelsing-cyan :weight normal) + ;; mode-line + (mode-line :background ,dracula-pro-vanhelsing-current + :box ,dracula-pro-vanhelsing-current :inverse-video nil + ,@(if dracula-pro-vanhelsing-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-vanhelsing-fg3) + (list :foreground nil))) + (mode-line-inactive + :inverse-video nil + ,@(if dracula-pro-vanhelsing-alternate-mode-line-and-minibuffer + (list :foreground dracula-pro-vanhelsing-comment :background dracula-pro-vanhelsing-bg + :box dracula-pro-vanhelsing-bg) + (list :foreground dracula-pro-vanhelsing-fg :background dracula-pro-vanhelsing-bg2 :box dracula-pro-vanhelsing-bg2))) + ;; mu4e + (mu4e-unread-face :foreground ,dracula-pro-vanhelsing-pink :weight normal) + (mu4e-view-url-number-face :foreground ,dracula-pro-vanhelsing-purple) + (mu4e-highlight-face :background ,dracula-pro-vanhelsing-bg + :foreground ,dracula-pro-vanhelsing-yellow + :extend t) + (mu4e-header-highlight-face :background ,dracula-pro-vanhelsing-current + :foreground ,dracula-pro-vanhelsing-fg + :underline nil :weight bold + :extend t) + (mu4e-header-key-face :inherit message-mml) + (mu4e-header-marks-face :foreground ,dracula-pro-vanhelsing-purple) + (mu4e-cited-1-face :foreground ,dracula-pro-vanhelsing-purple) + (mu4e-cited-2-face :foreground ,dracula-pro-vanhelsing-orange) + (mu4e-cited-3-face :foreground ,dracula-pro-vanhelsing-comment) + (mu4e-cited-4-face :foreground ,dracula-pro-vanhelsing-fg2) + (mu4e-cited-5-face :foreground ,dracula-pro-vanhelsing-fg3) + ;; org + (org-agenda-date :foreground ,dracula-pro-vanhelsing-cyan :underline nil) + (org-agenda-dimmed-todo-face :foreground ,dracula-pro-vanhelsing-comment) + (org-agenda-done :foreground ,dracula-pro-vanhelsing-green) + (org-agenda-structure :foreground ,dracula-pro-vanhelsing-purple) + (org-block :foreground ,dracula-pro-vanhelsing-orange) + (org-code :foreground ,dracula-pro-vanhelsing-yellow) + (org-column :background ,dracula-pro-vanhelsing-bg4) + (org-column-title :inherit org-column :weight bold :underline t) + (org-date :foreground ,dracula-pro-vanhelsing-cyan :underline t) + (org-document-info :foreground ,dracula-pro-vanhelsing-alt-blue) + (org-document-info-keyword :foreground ,dracula-pro-vanhelsing-comment) + (org-document-title :weight bold :foreground ,dracula-pro-vanhelsing-orange + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-doc-title))) + (org-done :foreground ,dracula-pro-vanhelsing-green) + (org-ellipsis :foreground ,dracula-pro-vanhelsing-comment) + (org-footnote :foreground ,dracula-pro-vanhelsing-alt-blue) + (org-formula :foreground ,dracula-pro-vanhelsing-pink) + (org-headline-done :foreground ,dracula-pro-vanhelsing-comment + :weight normal :strike-through t) + (org-hide :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-bg) + (org-level-1 :inherit bold :foreground ,dracula-pro-vanhelsing-pink + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-1))) + (org-level-2 :inherit bold :foreground ,dracula-pro-vanhelsing-purple + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-2))) + (org-level-3 :weight normal :foreground ,dracula-pro-vanhelsing-green + ,@(when dracula-pro-vanhelsing-enlarge-headings + (list :height dracula-pro-vanhelsing-height-title-3))) + (org-level-4 :weight normal :foreground ,dracula-pro-vanhelsing-yellow) + (org-level-5 :weight normal :foreground ,dracula-pro-vanhelsing-cyan) + (org-level-6 :weight normal :foreground ,dracula-pro-vanhelsing-orange) + (org-level-7 :weight normal :foreground ,dracula-pro-vanhelsing-alt-blue) + (org-level-8 :weight normal :foreground ,dracula-pro-vanhelsing-fg) + (org-link :foreground ,dracula-pro-vanhelsing-cyan :underline t) + (org-priority :foreground ,dracula-pro-vanhelsing-cyan) + (org-scheduled :foreground ,dracula-pro-vanhelsing-green) + (org-scheduled-previously :foreground ,dracula-pro-vanhelsing-yellow) + (org-scheduled-today :foreground ,dracula-pro-vanhelsing-green) + (org-sexp-date :foreground ,dracula-pro-vanhelsing-fg4) + (org-special-keyword :foreground ,dracula-pro-vanhelsing-yellow) + (org-table :foreground ,dracula-pro-vanhelsing-purple) + (org-tag :foreground ,dracula-pro-vanhelsing-pink :weight bold :background ,dracula-pro-vanhelsing-bg2) + (org-todo :foreground ,dracula-pro-vanhelsing-orange :weight bold :background ,dracula-pro-vanhelsing-bg2) + (org-upcoming-deadline :foreground ,dracula-pro-vanhelsing-yellow) + (org-warning :weight bold :foreground ,dracula-pro-vanhelsing-pink) + ;; outline + (outline-1 :foreground ,dracula-pro-vanhelsing-pink) + (outline-2 :foreground ,dracula-pro-vanhelsing-purple) + (outline-3 :foreground ,dracula-pro-vanhelsing-green) + (outline-4 :foreground ,dracula-pro-vanhelsing-yellow) + (outline-5 :foreground ,dracula-pro-vanhelsing-cyan) + (outline-6 :foreground ,dracula-pro-vanhelsing-orange) + ;; powerline + (powerline-evil-base-face :foreground ,dracula-pro-vanhelsing-bg2) + (powerline-evil-emacs-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-yellow) + (powerline-evil-insert-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-cyan) + (powerline-evil-motion-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-purple) + (powerline-evil-normal-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-green) + (powerline-evil-operator-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-pink) + (powerline-evil-replace-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-red) + (powerline-evil-visual-face :inherit powerline-evil-base-face :background ,dracula-pro-vanhelsing-orange) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face :foreground ,dracula-pro-vanhelsing-fg) + (rainbow-delimiters-depth-2-face :foreground ,dracula-pro-vanhelsing-cyan) + (rainbow-delimiters-depth-3-face :foreground ,dracula-pro-vanhelsing-purple) + (rainbow-delimiters-depth-4-face :foreground ,dracula-pro-vanhelsing-pink) + (rainbow-delimiters-depth-5-face :foreground ,dracula-pro-vanhelsing-orange) + (rainbow-delimiters-depth-6-face :foreground ,dracula-pro-vanhelsing-green) + (rainbow-delimiters-depth-7-face :foreground ,dracula-pro-vanhelsing-yellow) + (rainbow-delimiters-depth-8-face :foreground ,dracula-pro-vanhelsing-alt-blue) + (rainbow-delimiters-unmatched-face :foreground ,dracula-pro-vanhelsing-orange) + ;; rpm-spec + (rpm-spec-dir-face :foreground ,dracula-pro-vanhelsing-green) + (rpm-spec-doc-face :foreground ,dracula-pro-vanhelsing-pink) + (rpm-spec-ghost-face :foreground ,dracula-pro-vanhelsing-purple) + (rpm-spec-macro-face :foreground ,dracula-pro-vanhelsing-yellow) + (rpm-spec-obsolete-tag-face :inherit font-lock-warning-face) + (rpm-spec-package-face :foreground ,dracula-pro-vanhelsing-purple) + (rpm-spec-section-face :foreground ,dracula-pro-vanhelsing-yellow) + (rpm-spec-tag-face :foreground ,dracula-pro-vanhelsing-cyan) + (rpm-spec-var-face :foreground ,dracula-pro-vanhelsing-orange) + ;; show-paren + (show-paren-match-face :background unspecified + :foreground ,dracula-pro-vanhelsing-cyan + :weight bold) + (show-paren-match :background unspecified + :foreground ,dracula-pro-vanhelsing-cyan + :weight bold) + (show-paren-match-expression :inherit match) + (show-paren-mismatch :inherit font-lock-warning-face) + ;; slime + (slime-repl-inputed-output-face :foreground ,dracula-pro-vanhelsing-purple) + ;; spam + (spam :inherit gnus-summary-normal-read :foreground ,dracula-pro-vanhelsing-orange + :strike-through t :slant oblique) + ;; tab-bar & tab-line (since Emacs 27.1) + (tab-bar :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-current + :inherit variable-pitch) + (tab-bar-tab :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-bg + :box (:line-width 2 :color ,dracula-pro-vanhelsing-bg :style nil)) + (tab-bar-tab-inactive :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg2 + :box (:line-width 2 :color ,dracula-pro-vanhelsing-bg2 :style nil)) + (tab-line :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-current + :height 0.9 :inherit variable-pitch) + (tab-line-tab :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-bg + :box (:line-width 2 :color ,dracula-pro-vanhelsing-bg :style nil)) + (tab-line-tab-inactive :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-bg2 + :box (:line-width 2 :color ,dracula-pro-vanhelsing-bg2 :style nil)) + (tab-line-tab-current :inherit tab-line-tab) + (tab-line-close-highlight :foreground ,dracula-pro-vanhelsing-red) + ;; term + (term :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-bg) + (term-color-black :foreground ,dracula-pro-vanhelsing-bg :background ,dracula-pro-vanhelsing-bg) + (term-color-blue :foreground ,dracula-pro-vanhelsing-purple :background ,dracula-pro-vanhelsing-purple) + (term-color-cyan :foreground ,dracula-pro-vanhelsing-cyan :background ,dracula-pro-vanhelsing-cyan) + (term-color-green :foreground ,dracula-pro-vanhelsing-green :background ,dracula-pro-vanhelsing-green) + (term-color-magenta :foreground ,dracula-pro-vanhelsing-pink :background ,dracula-pro-vanhelsing-pink) + (term-color-red :foreground ,dracula-pro-vanhelsing-red :background ,dracula-pro-vanhelsing-red) + (term-color-white :foreground ,dracula-pro-vanhelsing-fg :background ,dracula-pro-vanhelsing-fg) + (term-color-yellow :foreground ,dracula-pro-vanhelsing-yellow :background ,dracula-pro-vanhelsing-yellow) + ;; undo-tree + (undo-tree-visualizer-current-face :foreground ,dracula-pro-vanhelsing-orange) + (undo-tree-visualizer-default-face :foreground ,dracula-pro-vanhelsing-fg2) + (undo-tree-visualizer-register-face :foreground ,dracula-pro-vanhelsing-purple) + (undo-tree-visualizer-unmodified-face :foreground ,dracula-pro-vanhelsing-fg) + ;; web-mode + (web-mode-builtin-face :inherit ,font-lock-builtin-face) + (web-mode-comment-face :inherit ,font-lock-comment-face) + (web-mode-constant-face :inherit ,font-lock-constant-face) + (web-mode-doctype-face :inherit ,font-lock-comment-face) + (web-mode-function-name-face :inherit ,font-lock-function-name-face) + (web-mode-html-attr-name-face :foreground ,dracula-pro-vanhelsing-purple) + (web-mode-html-attr-value-face :foreground ,dracula-pro-vanhelsing-green) + (web-mode-html-tag-face :foreground ,dracula-pro-vanhelsing-pink :weight bold) + (web-mode-keyword-face :foreground ,dracula-pro-vanhelsing-pink) + (web-mode-string-face :foreground ,dracula-pro-vanhelsing-yellow) + (web-mode-type-face :inherit ,font-lock-type-face) + (web-mode-warning-face :inherit ,font-lock-warning-face) + ;; which-func + (which-func :inherit ,font-lock-function-name-face) + ;; whitespace + (whitespace-big-indent :background ,dracula-pro-vanhelsing-red :foreground ,dracula-pro-vanhelsing-red) + (whitespace-empty :background ,dracula-pro-vanhelsing-orange :foreground ,dracula-pro-vanhelsing-red) + (whitespace-hspace :background ,dracula-pro-vanhelsing-bg3 :foreground ,dracula-pro-vanhelsing-comment) + (whitespace-indentation :background ,dracula-pro-vanhelsing-orange :foreground ,dracula-pro-vanhelsing-red) + (whitespace-line :background ,dracula-pro-vanhelsing-bg :foreground ,dracula-pro-vanhelsing-pink) + (whitespace-newline :foreground ,dracula-pro-vanhelsing-comment) + (whitespace-space :background ,dracula-pro-vanhelsing-bg :foreground ,dracula-pro-vanhelsing-comment) + (whitespace-space-after-tab :background ,dracula-pro-vanhelsing-orange :foreground ,dracula-pro-vanhelsing-red) + (whitespace-space-before-tab :background ,dracula-pro-vanhelsing-orange :foreground ,dracula-pro-vanhelsing-red) + (whitespace-tab :background ,dracula-pro-vanhelsing-bg2 :foreground ,dracula-pro-vanhelsing-comment) + (whitespace-trailing :inherit trailing-whitespace) + ;; yard-mode + (yard-tag-face :inherit ,font-lock-builtin-face) + (yard-directive-face :inherit ,font-lock-builtin-face)))) + + (apply #'custom-theme-set-faces + 'dracula-pro-vanhelsing + (let ((color-names (mapcar #'car colors)) + (graphic-colors (mapcar #'cadr colors)) + (term-colors (mapcar #'car (mapcar #'cddr colors))) + (tty-colors (mapcar #'car (mapcar #'last colors))) + (expand-for-kind (lambda (kind spec) + (cl-progv color-names kind + (eval `(backquote ,spec)))))) + (cl-loop for (face . spec) in faces + collect `(,face + ((((min-colors 16777216)) ; fully graphical envs + ,(funcall expand-for-kind graphic-colors spec)) + (((min-colors 256)) ; terminal withs 256 colors + ,(funcall expand-for-kind term-colors spec)) + (t ; should be only tty-like envs + ,(funcall expand-for-kind tty-colors spec)))))))) + + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'dracula-pro-vanhelsing) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; End: + +;;; dracula-pro-vanhelsing-theme.el ends here \ No newline at end of file