Working version with Color palette and faces palette

This commit is contained in:
Paul Provost 2020-02-26 14:36:51 -05:00
parent 1073faabad
commit 589a48ba6c

View File

@ -45,24 +45,39 @@
(deftheme petrol
"Petrol light color theme.")
(let ((class '((class color) (min-colors 89)))
;;,--------------
;;| Color Palette
;;`--------------
;;,-----------------
;;| Generic colors.
;;`-----------------
(defvar petrol-colors-alist
'(
("petrol-fg" . "#454545")
("petrol-bg" . "#f6f6ed")
("petrol-blue" . "#006c96")
("petrol-orange" . "#cc6d00")
("petrol-purple" . "#6c4ca8")
("petrol-red" . "#d0372d")
)
"List of Petrol colors.
Each element has the form (NAME . HEX).
`+N' suffixes indicate a color is lighter.
`-N' suffixes indicate a color is darker.")
(petrol-blue "#006c96")
(petrol-orange "#cc6d00")
(petrol-purple "#6c4ca8")
(petrol-red "#d0372d")
;;,------------------
;;| Specific colors.
;;`------------------
(petrol-link '(:weight normal :foreground petrol-blue))
(petrol-link-visited '(:weight normal :foreground petrol-purple))
(defmacro petrol-with-color-variables (&rest body)
"`let' bind all colors defined in `petrol-colors-alist' around BODY.
Also bind `class' to ((class color) (min-colors 89))."
(declare (indent 0))
`(let* ((class '((class color) (min-colors 89)))
,@(mapcar (lambda (cons)
(list (intern (car cons)) (cdr cons)))
petrol-colors-alist
)
(petrol-link `(:weight normal :foreground ,petrol-blue))
(petrol-link-visited `(:weight normal :foreground ,petrol-purple))
)
,@body))
)
(petrol-with-color-variables
(custom-theme-set-faces
'petrol
`(default ((,class (:background "#f6f6ed" :foreground "#454545"))))
@ -315,7 +330,7 @@
`(org-level-7 ((,class (:height 1.0 :weight bold :foreground "#008080"))))
`(org-level-8 ((,class (:height 1.0 :weight bold :foreground "#6c7378"))))
`(org-link ((,class ,link)))
`(org-link ((,class ,petrol-link)))
`(org-block ((,class (:background "#f2f2f2"))))
`(org-block-background ((,class (:background "#f2f2f2"))))