PageRenderTime 59ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/assets/emacs/emacs.d/elpa/doom-themes-20220622.2317/doom-homage-black-theme.el

https://github.com/ereslibre/dotfiles
Emacs Lisp | 223 lines | 155 code | 18 blank | 50 comment | 1 complexity | 7226e7095990da8c8010fc81955002f0 MD5 | raw file
  1. ;;; doom-homage-black-theme.el --- a minimalistic, colorless theme inspired by eziam, tao, and jbeans -*- lexical-binding: t; no-byte-compile: t; -*-
  2. ;;
  3. ;; Added: February 4, 2021 (#497)
  4. ;; Author: mskorzhinskiy <https://github.com/mskorzhinskiy>
  5. ;; Maintainer:
  6. ;; Source: original
  7. ;;
  8. ;;; Commentary:
  9. ;;
  10. ;; Theme is (manually) inverted homage-white theme with a focus of having
  11. ;; pitch-black backgrounds. I'm also incorporated a several ideas from jbeans
  12. ;; theme (synic/jbeans-emacs).
  13. ;;
  14. ;;; Code:
  15. (require 'doom-themes)
  16. ;;
  17. ;;; Variables
  18. (defgroup doom-homage-black-theme nil
  19. "Options for the `doom-homage-black' theme."
  20. :group 'doom-themes)
  21. (defcustom doom-homage-black-padded-modeline doom-themes-padded-modeline
  22. "If non-nil, adds a 4px padding to the mode-line. Can be an integer to
  23. determine the exact padding."
  24. :group 'doom-homage-black-theme
  25. :type '(choice integer boolean))
  26. ;;
  27. ;;; Theme definition
  28. (def-doom-theme doom-homage-black
  29. "A light theme inspired by Atom One"
  30. ;; name default 256 16
  31. ((bg '("#000000" nil nil ))
  32. (bg-alt '("#000000" nil nil ))
  33. (base0 '("#1B2229" "black" "black" ))
  34. (base1 '("#1c1f24" "#1e1e1e" "brightblack" ))
  35. (base2 '("#202328" "#2e2e2e" "brightblack" ))
  36. (base3 '("#23272e" "#262626" "brightblack" ))
  37. (base4 '("#3f444a" "#3f3f3f" "brightblack" ))
  38. (base5 '("#5B6268" "#525252" "brightblack" ))
  39. (base6 '("#73797e" "#6b6b6b" "brightblack" ))
  40. (base7 '("#9ca0a4" "#979797" "brightblack" ))
  41. (base8 '("#DFDFDF" "#dfdfdf" "white" ))
  42. (fg '("#bbc2cf" "#bfbfbf" "brightwhite" ))
  43. (fg-alt '("#5B6268" "#2d2d2d" "white" ))
  44. (grey base5)
  45. (red '("#ff6c6b" "#ff6655" "red" ))
  46. (orange '("#b4916d" "#b4916d" "brightred" ))
  47. (green '("#98be65" "#99bb66" "green" ))
  48. (teal '("#4db5bd" "#44b9b1" "brightgreen" ))
  49. (yellow '("#ECBE7B" "#ECBE7B" "yellow" ))
  50. (blue '("#0170bf" "#0170bf" "brightblue" ))
  51. (dark-blue '("#003c64" "#0170bf" "blue" ))
  52. (magenta '("#c678dd" "#c678dd" "brightmagenta"))
  53. (violet '("#a9a1e1" "#a9a1e1" "magenta" ))
  54. (cyan '("#46D9FF" "#46D9FF" "brightcyan" ))
  55. (dark-cyan '("#5699AF" "#5699AF" "cyan" ))
  56. ;; face categories -- required for all themes
  57. (highlight blue)
  58. (vertical-bar (doom-darken base2 0.1))
  59. (selection dark-blue)
  60. (builtin fg)
  61. (comments green)
  62. (doc-comments (doom-darken comments 0.15))
  63. (constants fg)
  64. (functions blue)
  65. (keywords fg)
  66. (methods fg)
  67. (operators fg)
  68. (type fg)
  69. (strings orange)
  70. (variables fg)
  71. (numbers orange)
  72. (region `(,(doom-darken (car dark-blue) 0.1) ,@(doom-darken (cdr base0) 0.3)))
  73. (error red)
  74. (warning yellow)
  75. (success green)
  76. (vc-modified orange)
  77. (vc-added green)
  78. (vc-deleted red)
  79. ;; custom categories
  80. (-modeline-bright t)
  81. (-modeline-pad
  82. (when doom-homage-black-padded-modeline
  83. (if (integerp doom-homage-black-padded-modeline) doom-homage-black-padded-modeline 4)))
  84. (modeline-fg nil)
  85. (modeline-fg-alt (doom-blend violet base4 (if -modeline-bright 0.5 0.2)))
  86. (modeline-bg
  87. (if -modeline-bright
  88. (doom-darken base2 0.05)
  89. base1))
  90. (modeline-bg-l
  91. (if -modeline-bright
  92. (doom-darken base2 0.1)
  93. base2))
  94. (modeline-bg-inactive (doom-darken bg 0.1))
  95. (modeline-bg-inactive-l `(,(doom-darken (car bg-alt) 0.05) ,@(cdr base1))))
  96. ;;;; Base theme face overrides
  97. ((font-lock-builtin-face :inherit 'bold :foreground base8)
  98. ((font-lock-doc-face &override) :slant 'italic)
  99. (font-lock-function-name-face :inherit 'bold :foreground base8)
  100. (font-lock-keyword-face :inherit 'bold :foreground base8)
  101. (font-lock-type-face :inherit 'bold :foreground base8)
  102. ((hl-line &override) :background (doom-darken highlight 0.75))
  103. ((line-number &override) :foreground (doom-lighten base4 0.15))
  104. ((line-number-current-line &override) :foreground base8)
  105. (mode-line
  106. :background modeline-bg :foreground modeline-fg
  107. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
  108. (mode-line-inactive
  109. :background modeline-bg-inactive :foreground modeline-fg-alt
  110. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive)))
  111. (mode-line-emphasis :foreground (if -modeline-bright base8 highlight))
  112. (tooltip :background base1 :foreground fg)
  113. ((secondary-selection &override) :background base0)
  114. ;;;; centaur-tabs
  115. (centaur-tabs-unselected :background bg-alt :foreground base4)
  116. ;;;; css-mode <built-in> / scss-mode
  117. (css-proprietary-property :foreground orange)
  118. (css-property :foreground green)
  119. (css-selector :foreground blue)
  120. ;;;; doom-modeline
  121. (doom-modeline-bar :background (if -modeline-bright modeline-bg highlight))
  122. ;;;; ediff <built-in>
  123. (ediff-current-diff-A :foreground red :background (doom-lighten red 0.8))
  124. (ediff-current-diff-B :foreground green :background (doom-lighten green 0.8))
  125. (ediff-current-diff-C :foreground blue :background (doom-lighten blue 0.8))
  126. (ediff-current-diff-Ancestor :foreground teal :background (doom-lighten teal 0.8))
  127. ;;;; magit
  128. ((magit-diff-hunk-heading &override) :foreground fg :background bg-alt :bold bold)
  129. ((magit-diff-hunk-heading-highlight &override) :foreground base8 :background bg-alt :bold bold)
  130. (magit-blame-heading :foreground orange :background bg-alt)
  131. (magit-diff-removed :foreground (doom-darken red 0.2) :background (doom-blend red bg 0.1))
  132. (magit-diff-removed-highlight :foreground red :background (doom-blend red bg 0.2) :bold bold)
  133. ;;;; markdown-mode
  134. (markdown-markup-face :foreground base5)
  135. (markdown-header-face :inherit 'bold :foreground red)
  136. ((markdown-code-face &override) :background base1)
  137. (mmm-default-submode-face :background base1)
  138. ;;;; mu4e
  139. (mu4e-highlight-face :background bg :inherit 'bold)
  140. ;;;; helm
  141. (helm-candidate-number :background blue :foreground bg)
  142. ;;;; ivy
  143. ;; bg/fg are too close
  144. ((ivy-minibuffer-match-face-1 &override) :foreground (doom-lighten grey 0.70))
  145. ;;;; ivy-posframe
  146. (ivy-posframe :background base0)
  147. ;;;; lsp-mode
  148. (lsp-ui-doc-background :background base0)
  149. (lsp-face-highlight-read :background (doom-blend red bg 0.3))
  150. (lsp-face-highlight-textual :inherit 'lsp-face-highlight-read)
  151. (lsp-face-highlight-write :inherit 'lsp-face-highlight-read)
  152. ;;;; outline <built-in>
  153. ((outline-1 &override) :foreground fg)
  154. ((outline-2 &override) :foreground fg)
  155. ((outline-3 &override) :foreground fg)
  156. ((outline-4 &override) :foreground fg)
  157. ((outline-5 &override) :foreground fg)
  158. ((outline-6 &override) :foreground fg)
  159. ((outline-7 &override) :foreground fg)
  160. ((outline-8 &override) :foreground fg)
  161. ;;;; org <built-in>
  162. ;; make unfinished cookie & todo keywords bright to grab attention
  163. ((org-todo &override) :foreground red)
  164. ;; make tags and dates to have pretty box around them
  165. ((org-tag &override) :foreground fg :background base1
  166. :box `(:line-width -1 :color ,base5 :style 'released-button))
  167. ((org-date &override) :foreground fg :background base1
  168. :box `(:line-width -1 :color ,base5 :style 'released-button))
  169. ;; Make drawers and special keywords (like scheduled) to be very bleak
  170. ((org-special-keyword &override) :foreground grey)
  171. ((org-drawer &override) :foreground grey)
  172. ;; Make ellipsis as bleak as possible and reset underlines/boxing
  173. (org-ellipsis :underline nil :box nil :foreground fg :background bg)
  174. ;; Make blocks have a slightly different background
  175. ((org-block &override) :background base1)
  176. ((org-block-begin-line &override) :foreground fg :slant 'italic)
  177. ((org-quote &override) :background base1)
  178. ((org-table &override) :foreground fg)
  179. ;; org-agendamode: make "unimportant" things like distant deadlines and
  180. ;; things scheduled for today to be bleak.
  181. (org-upcoming-deadline :foreground base8)
  182. (org-upcoming-distant-deadline :foreground fg)
  183. (org-scheduled :foreground fg)
  184. (org-scheduled-today :foreground fg)
  185. (org-scheduled-previously :foreground base8)
  186. ;;;; solaire-mode
  187. (solaire-mode-line-face
  188. :inherit 'mode-line
  189. :background modeline-bg-l
  190. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l)))
  191. (solaire-mode-line-inactive-face
  192. :inherit 'mode-line-inactive
  193. :background modeline-bg-inactive-l
  194. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l)))
  195. ;;;; swiper
  196. ;; bg/fg are too close
  197. ((swiper-match-face-1 &override) :background fg :foreground bg)
  198. ((swiper-line-face &override) :background dark-blue :foreground fg)
  199. ;;;; web-mode
  200. (web-mode-current-element-highlight-face :background dark-blue :foreground bg)
  201. ;;;; wgrep <built-in>
  202. (wgrep-face :background base1))
  203. ;;;; Base theme variable overrides-
  204. ())
  205. ;;; doom-homage-black-theme.el ends here