246 lines
9.4 KiB
EmacsLisp
246 lines
9.4 KiB
EmacsLisp
|
|
;;; doom-bluloco-light-theme.el --- ported from VSCode's Bluloco Light Theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||
|
|
;;
|
||
|
|
;; Author: RazikSF <https://github.com/RazikSF>
|
||
|
|
;; Maintainer:
|
||
|
|
;; Source: https://github.com/uloco/theme-bluloco-light
|
||
|
|
;;
|
||
|
|
;;; Commentary:
|
||
|
|
;;; Code:
|
||
|
|
|
||
|
|
(require 'doom-themes)
|
||
|
|
|
||
|
|
;;
|
||
|
|
;;; Variables
|
||
|
|
|
||
|
|
(defgroup doom-bluloco-light-theme nil
|
||
|
|
"Options for the `doom-bluloco' themes."
|
||
|
|
:group 'doom-themes)
|
||
|
|
|
||
|
|
(defcustom doom-bluloco-light-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-bluloco-light-theme
|
||
|
|
:type '(choice integer boolean))
|
||
|
|
|
||
|
|
;;
|
||
|
|
;;; Theme definition
|
||
|
|
|
||
|
|
(def-doom-theme doom-bluloco-light
|
||
|
|
"A light theme inspired by bluloco light theme"
|
||
|
|
:family 'doom-bluloco
|
||
|
|
:background-mode 'light
|
||
|
|
|
||
|
|
;; name default 256 16
|
||
|
|
((bg '("#f9f9f9" "white" "white" ))
|
||
|
|
(fg '("#383a42" "#424242" "black" ))
|
||
|
|
|
||
|
|
(bg-alt '("#e7e7e7" "white" "white" ))
|
||
|
|
(fg-alt '("#c6c7c7" "#c7c7c7" "brightblack" ))
|
||
|
|
|
||
|
|
(base0 '("#f1f1f1" "#f0f0f0" "white" ))
|
||
|
|
(base1 '("#e7e7e7" "#e7e7e7" "brightblack" ))
|
||
|
|
(base2 '("#dfdfdf" "#dfdfdf" "brightblack" ))
|
||
|
|
(base3 '("#c6c7c7" "#c6c7c7" "brightblack" ))
|
||
|
|
(base4 '("#9ca0a4" "#9ca0a4" "brightblack" ))
|
||
|
|
(base5 '("#383a42" "#424242" "brightblack" ))
|
||
|
|
(base6 '("#202328" "#2e2e2e" "brightblack" ))
|
||
|
|
(base7 '("#1c1f24" "#1e1e1e" "brightblack" ))
|
||
|
|
(base8 '("#1b2229" "black" "black" ))
|
||
|
|
|
||
|
|
(grey '("#a0a1a7" "#a0a1a7" "brightblack" ))
|
||
|
|
(red '("#d52753" "#d7005f" "red" ))
|
||
|
|
(orange '("#df631c" "#d75f00" "brightred" ))
|
||
|
|
(brown '("#a05a48" "#af5f5f" "brown" ))
|
||
|
|
(green '("#23974a" "#00875f" "green" ))
|
||
|
|
(teal '("#40B8C5" "#5fafd7" "brightgreen" ))
|
||
|
|
(yellow '("#c5a332" "#d7af5f" "yellow" ))
|
||
|
|
(blue '("#0098dd" "#0087d7" "brightblue" ))
|
||
|
|
(dark-blue '("#275fe4" "#005fd7" "blue" ))
|
||
|
|
(magenta '("#ce33c0" "#d75faf" "magenta" ))
|
||
|
|
(violet '("#823ff1" "#875fff" "brightmagenta"))
|
||
|
|
(dark-violet '("#7a82da" "#8787d7" "brightmagenta"))
|
||
|
|
(cyan '("#33c0ce" "#5fafd7" "brightcyan" ))
|
||
|
|
(dark-cyan '("#217b84" "#008080" "brightcyan" ))
|
||
|
|
|
||
|
|
;; custom colours
|
||
|
|
(rainbow-red '("#f067f0"))
|
||
|
|
(rainbow-yellow '("#B3BA00"))
|
||
|
|
(rainbow-blue '("#0ab6ff"))
|
||
|
|
(rainbow-orange '("#ffa023"))
|
||
|
|
(rainbow-green '("#1fc255"))
|
||
|
|
(rainbow-violet '("#a557ff"))
|
||
|
|
(rainbow-cyan '("#0e91a8"))
|
||
|
|
(rainbow-indigo '("#383A42"))
|
||
|
|
|
||
|
|
(highlight blue)
|
||
|
|
(vertical-bar (doom-darken base1 0.1))
|
||
|
|
(selection dark-blue)
|
||
|
|
(builtin green)
|
||
|
|
(comments grey)
|
||
|
|
(doc-comments yellow)
|
||
|
|
(constants violet)
|
||
|
|
(functions green)
|
||
|
|
(keywords blue)
|
||
|
|
(methods green)
|
||
|
|
(operators dark-violet)
|
||
|
|
(type red)
|
||
|
|
(strings yellow)
|
||
|
|
(variables teal)
|
||
|
|
(numbers magenta)
|
||
|
|
(region `(,(doom-darken (car bg-alt) 0.075) ,@(doom-darken (cdr base0) 0.075)))
|
||
|
|
(error red)
|
||
|
|
(warning orange)
|
||
|
|
(success green)
|
||
|
|
(vc-modified orange)
|
||
|
|
(vc-added green)
|
||
|
|
(vc-deleted red)
|
||
|
|
|
||
|
|
;; custom categories
|
||
|
|
|
||
|
|
(modeline-fg fg)
|
||
|
|
(modeline-fg-alt (doom-blend violet base4 0.2))
|
||
|
|
(modeline-bg base1)
|
||
|
|
(modeline-bg-alt base2)
|
||
|
|
(modeline-bg-inactive (doom-darken bg 0.1))
|
||
|
|
(modeline-bg-alt-inactive `(,(doom-darken (car bg-alt) 0.05) ,@(cdr base1)))
|
||
|
|
|
||
|
|
(-modeline-pad
|
||
|
|
(when doom-bluloco-light-padded-modeline
|
||
|
|
(if (integerp doom-bluloco-light-padded-modeline) doom-bluloco-light-padded-modeline 4))))
|
||
|
|
|
||
|
|
;;;; Base theme face overrides
|
||
|
|
|
||
|
|
(((font-lock-operator-face &override) :foreground dark-violet)
|
||
|
|
|
||
|
|
;; line-number
|
||
|
|
(line-number :foreground comments)
|
||
|
|
(line-number-current-line :foreground comments)
|
||
|
|
|
||
|
|
;; mode-line
|
||
|
|
(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 highlight)
|
||
|
|
|
||
|
|
;; css-mode / scss-mode
|
||
|
|
(css-proprietary-property :foreground brown :background base2)
|
||
|
|
(css-property :foreground brown)
|
||
|
|
(css-selector :foreground dark-blue)
|
||
|
|
|
||
|
|
;; diredfl
|
||
|
|
(diredfl-date-time :foreground cyan :weight 'normal)
|
||
|
|
|
||
|
|
;; posframe
|
||
|
|
(ivy-posframe :background base2)
|
||
|
|
|
||
|
|
;; js2-mode
|
||
|
|
(js2-object-property :foreground brown)
|
||
|
|
(js2-object-property-access :foreground brown)
|
||
|
|
|
||
|
|
;; latex
|
||
|
|
((font-latex-math-face &override) :foreground yellow)
|
||
|
|
|
||
|
|
;; magit
|
||
|
|
(magit-blame-heading :foreground orange :background bg-alt)
|
||
|
|
(magit-diff-removed :foreground (doom-darken red 0.2) :background (doom-blend red bg 0.1))
|
||
|
|
(magit-diff-removed-highlight :foreground red :background (doom-blend red bg 0.2) :bold bold)
|
||
|
|
|
||
|
|
;; markdown
|
||
|
|
((markdown-blockquote-face &override) :foreground violet)
|
||
|
|
((markdown-bold-face &override) :foreground red :weight 'bold)
|
||
|
|
((markdown-code-face &override) :foreground brown :background (doom-lighten base1 0.3))
|
||
|
|
((markdown-header-face &override) :inherit 'bold :foreground yellow)
|
||
|
|
((markdown-italic-face &override) :foreground orange :slant 'italic)
|
||
|
|
((markdown-link-face &override) :foreground dark-blue :underline t)
|
||
|
|
((markdown-markup-face &override) :foreground dark-violet)
|
||
|
|
((markdown-metadata-key-face &override) :foreground brown)
|
||
|
|
((markdown-pre-face &override) :foreground brown)
|
||
|
|
((markdown-url-face &override) :foreground blue)
|
||
|
|
(markdown-footnote-marker-face :foreground dark-blue)
|
||
|
|
(markdown-language-keyword-face :foreground brown)
|
||
|
|
(markdown-strike-through-face :foreground grey :strike-through t)
|
||
|
|
|
||
|
|
;; outline
|
||
|
|
((outline-1 &override) :foreground rainbow-red)
|
||
|
|
((outline-2 &override) :foreground rainbow-yellow)
|
||
|
|
((outline-3 &override) :foreground rainbow-blue)
|
||
|
|
((outline-4 &override) :foreground rainbow-orange)
|
||
|
|
((outline-5 &override) :foreground rainbow-green)
|
||
|
|
((outline-6 &override) :foreground rainbow-violet)
|
||
|
|
((outline-7 &override) :foreground rainbow-cyan)
|
||
|
|
((outline-8 &override) :foreground rainbow-indigo)
|
||
|
|
|
||
|
|
;; org-mode
|
||
|
|
((org-block &override) :background (doom-lighten base1 0.3))
|
||
|
|
((org-code &override) :foreground brown :background bg)
|
||
|
|
((org-document-title &override) :inherit 'bold :foreground green :height 1.25)
|
||
|
|
((org-link &override) :foreground dark-blue :weight 'normal)
|
||
|
|
((org-meta-line &override) :foreground yellow)
|
||
|
|
((org-quote &override) :foreground violet :background bg-alt)
|
||
|
|
((org-table &override) :foreground brown)
|
||
|
|
((org-verbatim &override) :foreground brown :background bg)
|
||
|
|
(org-ellipsis :underline nil :background bg)
|
||
|
|
(org-level-1 :inherit 'bold :foreground rainbow-red :height 1.2)
|
||
|
|
(org-level-2 :inherit 'bold :foreground rainbow-yellow :height 1.15)
|
||
|
|
(org-level-3 :inherit 'bold :foreground rainbow-blue :height 1.1)
|
||
|
|
(org-level-4 :inherit 'bold :foreground rainbow-orange :height 1.05)
|
||
|
|
(org-level-5 :inherit 'bold :foreground rainbow-green)
|
||
|
|
(org-level-6 :inherit 'bold :foreground rainbow-violet)
|
||
|
|
(org-level-7 :inherit 'bold :foreground rainbow-cyan)
|
||
|
|
(org-level-8 :inherit 'bold :foreground rainbow-indigo)
|
||
|
|
|
||
|
|
;; org-modern-indent
|
||
|
|
(org-modern-indent-line :inherit 'org-block-begin-line)
|
||
|
|
|
||
|
|
;; rainbow delimiters
|
||
|
|
(rainbow-delimiters-depth-1-face :foreground rainbow-red)
|
||
|
|
(rainbow-delimiters-depth-2-face :foreground rainbow-yellow)
|
||
|
|
(rainbow-delimiters-depth-3-face :foreground rainbow-blue)
|
||
|
|
(rainbow-delimiters-depth-4-face :foreground rainbow-orange)
|
||
|
|
(rainbow-delimiters-depth-5-face :foreground rainbow-green)
|
||
|
|
(rainbow-delimiters-depth-6-face :foreground rainbow-violet)
|
||
|
|
(rainbow-delimiters-depth-7-face :foreground rainbow-cyan)
|
||
|
|
(rainbow-delimiters-depth-8-face :foreground rainbow-indigo)
|
||
|
|
|
||
|
|
;; selectrum
|
||
|
|
(selectrum-current-candidate :background base2)
|
||
|
|
|
||
|
|
;; solaire-mode
|
||
|
|
(solaire-mode-line-face
|
||
|
|
:inherit 'mode-line
|
||
|
|
:background modeline-bg-alt
|
||
|
|
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
|
||
|
|
(solaire-mode-line-inactive-face
|
||
|
|
:inherit 'mode-line-inactive
|
||
|
|
:background modeline-bg-alt-inactive
|
||
|
|
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt-inactive)))
|
||
|
|
|
||
|
|
;; tree-sitter
|
||
|
|
(tree-sitter-hl-face:constant.builtin :foreground violet)
|
||
|
|
(tree-sitter-hl-face:escape :foreground orange)
|
||
|
|
(tree-sitter-hl-face:function.call :foreground functions)
|
||
|
|
(tree-sitter-hl-face:function.special :foreground operators)
|
||
|
|
(tree-sitter-hl-face:label :foreground variables)
|
||
|
|
(tree-sitter-hl-face:number :foreground numbers)
|
||
|
|
(tree-sitter-hl-face:operator :foreground operators)
|
||
|
|
(tree-sitter-hl-face:property :foreground brown :slant 'italic)
|
||
|
|
(tree-sitter-hl-face:punctution :foreground operators)
|
||
|
|
(tree-sitter-hl-face:tag :foreground keywords)
|
||
|
|
(tree-sitter-hl-face:type :foreground type)
|
||
|
|
|
||
|
|
;;vertico
|
||
|
|
(vertico-current :background base2)
|
||
|
|
|
||
|
|
;; web-mode
|
||
|
|
(web-mode-html-entity-face :foreground violet)
|
||
|
|
(web-mode-html-attr-name-face :foreground orange)
|
||
|
|
(web-mode-html-tag-bracket-face :foreground dark-blue)
|
||
|
|
(web-mode-html-tag-face :foreground dark-blue))
|
||
|
|
|
||
|
|
;;;; Base theme variable overrides-
|
||
|
|
())
|
||
|
|
|
||
|
|
;;; doom-bluloco-light-theme.el ends here
|