Another copy of my dotfiles. Because I don't completely trust GitHub.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
6.1 KiB

  1. ;;; doom-material-ocean-theme.el --- inspired by VIM Challenger Deep -*- no-byte-compile: t; -*-
  2. (require 'doom-themes)
  3. ;;
  4. (defgroup doom-material-ocean-theme nil
  5. "Options for doom-themes"
  6. :group 'doom-themes)
  7. (defcustom doom-material-ocean-brighter-modeline nil
  8. "If non-nil, more vivid colors will be used to style the mode-line."
  9. :group 'doom-material-ocean-theme
  10. :type 'boolean)
  11. (defcustom doom-material-ocean-brighter-comments nil
  12. "If non-nil, comments will be highlighted in more vivid colors."
  13. :group 'doom-material-ocean-theme
  14. :type 'boolean)
  15. (defcustom doom-material-ocean-comment-bg doom-material-ocean-brighter-comments
  16. "If non-nil, comments will have a subtle, darker background. Enhancing their
  17. legibility."
  18. :group 'doom-material-ocean-theme
  19. :type 'boolean)
  20. (defcustom doom-material-ocean-padded-modeline doom-themes-padded-modeline
  21. "If non-nil, adds a 4px padding to the mode-line. Can be an integer to
  22. determine the exact padding."
  23. :group 'doom-material-ocean-theme
  24. :type '(choice integer boolean))
  25. ;;
  26. (def-doom-theme doom-material-ocean
  27. "A dark theme inspired by VIM Challenger Deep"
  28. ;; name default 256 16
  29. ((bg '("#0F111A" "#121212" nil ))
  30. (bg-alt '("#00010A" "#111111" nil ))
  31. (base0 '("#100E23" "#080808" "black" ))
  32. (base1 '("#292F37" "#262626" "brightblack" ))
  33. (base2 '("#3D4551" "#3A3A3A" "brightblack" ))
  34. (base3 '("#4C4B68" "#444466" "brightblack" ))
  35. (base4 '("#565575" "#555577" "brightblack" ))
  36. (base5 '("#858FA5" "#8888AA" "brightblack" ))
  37. (base6 '("#9BA7BF" "#99AABB" "brightblack" ))
  38. (base7 '("#B0BED8" "#BBBBDD" "brightblack" ))
  39. (base8 '("#BAC9E4" "#BBCCEE" "white" ))
  40. (fg-alt '("#B2B2B2" "#BBBBBB" "brightwhite" ))
  41. (fg '("#CBE3E7" "#CCEEEE" "white" ))
  42. (grey base4)
  43. (red '("#FF8080" "#FF8888" "red" ))
  44. (orange '("#FFB378" "#FFBB77" "brightred" ))
  45. (green '("#95FFA4" "#99FFAA" "green" ))
  46. (teal '("#63F2F1" "#66FFFF" "brightgreen" ))
  47. (yellow '("#FFE9AA" "#FFEEAA" "yellow" ))
  48. (blue '("#91DDFF" "#99DDFF" "brightblue" ))
  49. (dark-blue '("#65B2FF" "#66BBFF" "blue" ))
  50. (magenta '("#C991E1" "#CC99EE" "magenta" ))
  51. (violet '("#906CFF" "#9966FF" "brightmagenta"))
  52. (cyan '("#AAFFE4" "#AAFFEE" "brightcyan" ))
  53. (dark-cyan '("#62D196" "#66DD99" "cyan" ))
  54. ;; face categories -- required for all themes
  55. (highlight violet)
  56. (vertical-bar base1)
  57. (selection violet)
  58. (builtin magenta)
  59. (comments (if doom-material-ocean-brighter-comments dark-blue base4))
  60. (doc-comments (if doom-material-ocean-brighter-comments (doom-darken dark-cyan 0.3) base5) )
  61. (constants cyan)
  62. (functions magenta)
  63. (keywords red)
  64. (methods magenta)
  65. (operators teal)
  66. (type blue)
  67. (strings yellow)
  68. (variables yellow)
  69. (numbers orange)
  70. (region base2)
  71. (error red)
  72. (warning yellow)
  73. (success green)
  74. (vc-modified orange)
  75. (vc-added green)
  76. (vc-deleted red)
  77. ;; custom categories
  78. (hidden `(,(car bg) "black" "black"))
  79. (-modeline-bright doom-material-ocean-brighter-modeline)
  80. (-modeline-pad
  81. (when doom-material-ocean-padded-modeline
  82. (if (integerp doom-material-ocean-padded-modeline) doom-material-ocean-padded-modeline 4)))
  83. (modeline-fg nil)
  84. (modeline-fg-alt base5)
  85. (modeline-bg
  86. (if -modeline-bright
  87. base3
  88. `(,(doom-darken (car bg) 0.1) ,@(cdr base0))))
  89. (modeline-bg-l
  90. (if -modeline-bright
  91. base3
  92. `(,(doom-darken (car bg) 0.15) ,@(cdr base0))))
  93. (modeline-bg-inactive `(,(car bg) ,@(cdr base1)))
  94. (modeline-bg-inactive-l (doom-darken bg 0.1)))
  95. ;; --- extra faces ------------------------
  96. (((secondary-selection &override) :background base0)
  97. (elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022")
  98. ((line-number &override) :foreground base4)
  99. ((line-number-current-line &override) :foreground fg)
  100. (font-lock-comment-face
  101. :foreground comments
  102. :background (if doom-material-ocean-comment-bg (doom-lighten bg 0.05)))
  103. (font-lock-doc-face
  104. :inherit 'font-lock-comment-face
  105. :foreground doc-comments)
  106. (doom-modeline-bar :background (if -modeline-bright modeline-bg highlight))
  107. (mode-line
  108. :background modeline-bg :foreground modeline-fg
  109. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
  110. (mode-line-inactive
  111. :background modeline-bg-inactive :foreground modeline-fg-alt
  112. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive)))
  113. (mode-line-emphasis
  114. :foreground (if -modeline-bright base8 highlight))
  115. (solaire-mode-line-face
  116. :inherit 'mode-line
  117. :background modeline-bg-l
  118. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l)))
  119. (solaire-mode-line-inactive-face
  120. :inherit 'mode-line-inactive
  121. :background modeline-bg-inactive-l
  122. :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l)))
  123. ;; --- major-mode faces -------------------
  124. ;; css-mode / scss-mode
  125. (css-proprietary-property :foreground orange)
  126. (css-property :foreground green)
  127. (css-selector :foreground blue)
  128. ;; markdown-mode
  129. (markdown-markup-face :foreground base5)
  130. (markdown-header-face :inherit 'bold :foreground red)
  131. ((markdown-code-face &override) :background (doom-lighten base3 0.05))
  132. ;; outline (affects org-mode)
  133. ((outline-1 &override) :foreground blue :background nil)
  134. ;; org-mode
  135. ((org-block &override) :background base1)
  136. ((org-block-begin-line &override) :background base1 :foreground comments)
  137. (org-hide :foreground hidden)
  138. (org-link :foreground orange :underline t :weight 'bold)
  139. ;; tooltip
  140. (tooltip :background base0 :foreground fg))
  141. ;; --- extra variables ---------------------
  142. ;; ()
  143. )
  144. ;;; doom-material-ocean-theme.el ends here