diff options
Diffstat (limited to 'elpa/doom-themes-20220504.1557/doom-dracula-theme.el')
-rw-r--r-- | elpa/doom-themes-20220504.1557/doom-dracula-theme.el | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/elpa/doom-themes-20220504.1557/doom-dracula-theme.el b/elpa/doom-themes-20220504.1557/doom-dracula-theme.el new file mode 100644 index 0000000..c86ab9b --- /dev/null +++ b/elpa/doom-themes-20220504.1557/doom-dracula-theme.el @@ -0,0 +1,251 @@ +;;; doom-dracula-theme.el - based on https://draculatheme.com/ -*- lexical-binding: t; no-byte-compile: t; -*- +(require 'doom-themes) + +;; +(defgroup doom-dracula-theme nil + "Options for the `doom-dracula' theme." + :group 'doom-themes) + +(defcustom doom-dracula-brighter-modeline nil + "If non-nil, more vivid colors will be used to style the mode-line." + :group 'doom-dracula-theme + :type 'boolean) + +(defcustom doom-dracula-brighter-comments nil + "If non-nil, comments will be highlighted in more vivid colors." + :group 'doom-dracula-theme + :type 'boolean) + +(defcustom doom-dracula-colorful-headers nil + "If non-nil, headers in org-mode will be more colorful; which is truer to the +original Dracula Emacs theme." + :group 'doom-dracula-theme + :type 'boolean) + +(defcustom doom-dracula-comment-bg doom-dracula-brighter-comments + "If non-nil, comments will have a subtle, darker background. Enhancing their +legibility." + :group 'doom-dracula-theme + :type 'boolean) + +(defcustom doom-dracula-padded-modeline doom-themes-padded-modeline + "If non-nil, adds a 4px padding to the mode-line. Can be an integer to +determine the exact padding." + :group 'doom-dracula-theme + :type '(choice integer boolean)) + +;; +(def-doom-theme doom-dracula + "A dark theme based on Dracula theme" + + ;; name default 256 16 + ((bg '("#282a36" "#262626" "black" )) + (bg-alt '("#1E2029" "#1c1c1c" "black" )) + (base0 '("#1E2029" "#1c1c1c" "black" )) + (base1 '("#282a36" "#1e1e1e" "brightblack" )) + (base2 '("#373844" "#2e2e2e" "brightblack" )) + (base3 '("#44475a" "#262626" "brightblack" )) + (base4 '("#565761" "#3f3f3f" "brightblack" )) + (base5 '("#6272a4" "#525252" "brightblack" )) + (base6 '("#b6b6b2" "#bbbbbb" "brightblack" )) + (base7 '("#ccccc7" "#cccccc" "brightblack" )) + (base8 '("#f8f8f2" "#dfdfdf" "white" )) + (fg '("#f8f8f2" "#ffffff" "white" )) + (fg-alt '("#e2e2dc" "#bfbfbf" "brightwhite" )) + + (grey base4) + (red '("#ff5555" "#ff6655" "red" )) + (orange '("#ffb86c" "#ffbb66" "brightred" )) + (green '("#50fa7b" "#55ff77" "green" )) + (teal '("#0189cc" "#0088cc" "brightgreen" )) + (yellow '("#f1fa8c" "#ffff88" "yellow" )) + (blue '("#61bfff" "#66bbff" "brightblue" )) + (dark-blue '("#0189cc" "#0088cc" "blue" )) + (magenta '("#ff79c6" "#ff77cc" "magenta" )) + (violet '("#bd93f9" "#bb99ff" "brightmagenta")) + (cyan '("#8be9fd" "#88eeff" "brightcyan" )) + (dark-cyan '("#8be9fd" "#88eeff" "cyan" )) + + ;; face categories -- required for all themes + (highlight violet) + (vertical-bar (doom-darken base1 0.1)) + (selection dark-blue) + (builtin orange) + (comments (if doom-dracula-brighter-comments dark-cyan base5)) + (doc-comments (doom-lighten (if doom-dracula-brighter-comments dark-cyan base5) 0.25)) + (constants cyan) + (functions green) + (keywords magenta) + (methods teal) + (operators violet) + (type violet) + (strings yellow) + (variables (doom-lighten magenta 0.6)) + (numbers violet) + (region `(,(car base3) ,@(cdr base1))) + (error red) + (warning yellow) + (success green) + (vc-modified orange) + (vc-added green) + (vc-deleted red) + + ;; custom categories + (level1 magenta) + (level2 violet) + (level3 (if doom-dracula-colorful-headers green (doom-lighten violet 0.35))) + (level4 (if doom-dracula-colorful-headers yellow (doom-lighten magenta 0.35))) + (level5 (if doom-dracula-colorful-headers cyan (doom-lighten violet 0.6))) + (level6 (if doom-dracula-colorful-headers orange (doom-lighten magenta 0.6))) + (level7 (if doom-dracula-colorful-headers blue (doom-lighten violet 0.85))) + (level8 (if doom-dracula-colorful-headers magenta (doom-lighten magenta 0.85))) + (level9 (if doom-dracula-colorful-headers violet (doom-lighten violet 0.95))) + + (-modeline-bright doom-dracula-brighter-modeline) + (-modeline-pad + (when doom-dracula-padded-modeline + (if (integerp doom-dracula-padded-modeline) doom-dracula-padded-modeline 4))) + + (region-alt `(,(car base3) ,@(cdr base4))) + + (modeline-fg nil) + (modeline-fg-alt base5) + + (modeline-bg + (if -modeline-bright + (doom-darken magenta 0.6) + `(,(doom-darken (car bg) 0.15) ,@(cdr base0)))) + (modeline-bg-l + (if -modeline-bright + (doom-darken magenta 0.675) + `(,(car bg) ,@(cdr base0)))) + (modeline-bg-inactive `(,(doom-darken (car bg) 0.075) ,@(cdr base1))) + (modeline-bg-inactive-l (doom-darken bg 0.1))) + + + ;;;; Base theme face overrides + (((line-number &override) :foreground base5) + ((line-number-current-line &override) :foreground fg) + ((font-lock-comment-face &override) + :background (if doom-dracula-comment-bg (doom-lighten bg 0.05))) + (mode-line + :background modeline-bg :foreground modeline-fg + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg))) + (mode-line-inactive + :background modeline-bg-inactive :foreground modeline-fg-alt + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive))) + (mode-line-emphasis :foreground (if -modeline-bright base8 highlight)) + + ;;;; company + (company-tooltip-selection :background base3) + ;;;; css-mode <built-in> / scss-mode + (css-proprietary-property :foreground violet) + (css-property :foreground violet) + (css-selector :foreground green) + ;;;; doom-modeline + (doom-modeline-bar :background (if -modeline-bright modeline-bg highlight)) + ;;;; elscreen + (elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022") + ;;;; helm + (helm-bookmark-w3m :foreground violet) + (helm-buffer-not-saved :foreground violet) + (helm-buffer-process :foreground orange) + (helm-buffer-saved-out :foreground fg) + (helm-buffer-size :foreground fg) + (helm-candidate-number :foreground bg :background fg) + (helm-ff-directory :foreground green :weight 'bold) + (helm-ff-executable :foreground dark-blue :inherit 'italic) + (helm-ff-invalid-symlink :foreground magenta :weight 'bold) + (helm-ff-prefix :foreground bg :background magenta) + (helm-ff-symlink :foreground magenta :weight 'bold) + (helm-grep-finish :foreground base2) + (helm-grep-running :foreground green) + (helm-header :foreground base2 :underline nil :box nil) + (helm-moccur-buffer :foreground green) + (helm-separator :foreground violet) + (helm-source-go-package-godoc-description :foreground yellow) + ((helm-source-header &override) :foreground magenta) + (helm-time-zone-current :foreground orange) + (helm-time-zone-home :foreground violet) + (helm-visible-mark :foreground bg :background base3) + ;;;; highlight-quoted-mode + (highlight-quoted-symbol :foreground cyan) + (highlight-quoted-quote :foreground magenta) + ;;;; js2-mode + (js2-external-variable :foreground violet) + (js2-function-param :foreground cyan) + (js2-jsdoc-html-tag-delimiter :foreground yellow) + (js2-jsdoc-html-tag-name :foreground dark-blue) + (js2-jsdoc-value :foreground yellow) + (js2-private-function-call :foreground cyan) + (js2-private-member :foreground base7) + ;;;; markdown-mode + (markdown-markup-face :foreground base5) + (markdown-header-face :inherit 'bold :foreground red) + ((markdown-code-face &override) :background (doom-darken 'bg 0.075)) + ;;;; outline <built-in> + ((outline-1 &override) :foreground level1) + (outline-2 :inherit 'outline-1 :foreground level2) + (outline-3 :inherit 'outline-2 :foreground level3) + (outline-4 :inherit 'outline-3 :foreground level4) + (outline-5 :inherit 'outline-4 :foreground level5) + (outline-6 :inherit 'outline-5 :foreground level6) + (outline-7 :inherit 'outline-6 :foreground level7) + (outline-8 :inherit 'outline-7 :foreground level8) + ;;;; org <built-in> + (org-agenda-date :foreground cyan) + (org-agenda-dimmed-todo-face :foreground comments) + (org-agenda-done :foreground base4) + (org-agenda-structure :foreground violet) + ((org-block &override) :background (doom-darken base1 0.125) :foreground violet) + ((org-block-begin-line &override) :background (doom-darken base1 0.125) :foreground comments) + ((org-code &override) :foreground yellow) + (org-column :background base1) + (org-column-title :background base1 :bold t :underline t) + (org-date :foreground cyan) + ((org-document-info &override) :foreground blue) + ((org-document-info-keyword &override) :foreground comments) + (org-done :foreground green :background base2 :weight 'bold) + (org-footnote :foreground blue) + (org-headline-base :foreground comments :strike-through t :bold nil) + (org-headline-done :foreground base4 :strike-through nil) + ((org-link &override) :foreground orange) + (org-priority :foreground cyan) + ((org-quote &override) :background (doom-darken base1 0.125)) + (org-scheduled :foreground green) + (org-scheduled-previously :foreground yellow) + (org-scheduled-today :foreground orange) + (org-sexp-date :foreground base4) + ((org-special-keyword &override) :foreground yellow) + (org-table :foreground violet) + ((org-tag &override) :foreground (doom-lighten orange 0.3)) + (org-todo :foreground orange :bold 'inherit :background (doom-darken base1 0.02)) + (org-upcoming-deadline :foreground yellow) + (org-warning :foreground magenta) + ;;;; rjsx-mode + (rjsx-tag :foreground magenta) + (rjsx-attr :foreground green :slant 'italic :weight 'medium) + ;;;; solaire-mode + (solaire-hl-line-face :background base2) + (solaire-mode-line-face + :inherit 'mode-line + :background modeline-bg-l + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l))) + (solaire-mode-line-inactive-face + :inherit 'mode-line-inactive + :background modeline-bg-inactive-l + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l))) + (solaire-region-face :background region-alt) + ;;;; web-mode + (web-mode-builtin-face :foreground orange) + (web-mode-css-selector-face :foreground green) + (web-mode-html-attr-name-face :foreground green) + (web-mode-html-tag-bracket-face :inherit 'default) + (web-mode-html-tag-face :foreground magenta :weight 'bold) + (web-mode-preprocessor-face :foreground orange)) + + ;;;; Base theme variable overrides- + () + ) + +;;; doom-dracula-theme.el ends here |