commit 97e754da8b97b59dca643a11b920d0a68b651a46
parent 141e2b42bc71dfffac2a7d854c455601de3c5631
Author: andsy10 <andsy1016@gmail.com>
Date: Tue, 20 Oct 2026 10:45:06 +0800
Add per-theme custom faces and update light palette
Diffstat:
3 files changed, 41 insertions(+), 16 deletions(-)
diff --git a/lisp/my-dark-theme.el b/lisp/my-dark-theme.el
@@ -21,11 +21,20 @@
(deftheme my-dark "A dark theme using Solarized framework.")
+(defmacro my-dark-theme--custom-faces ()
+ ''((custom-theme-set-faces
+ theme-name
+ `(font-lock-keyword-face ((,class (:foreground ,cyan :weight bold))))
+ `(elisp-shorthand-font-lock-face ((,class (:foreground ,yellow :weight bold))))
+ `(mode-line ((,class (:foreground ,base0 :background ,base02))))
+ `(mode-line-inactive ((,class (:foreground ,base01 :background ,base03)))))))
+
(solarized-with-color-variables-with-palette
'dark
'my-dark
my-dark-core-palette
- (my-themes--custom-faces))
+ (append (my-themes--custom-faces)
+ (my-dark-theme--custom-faces)))
(provide-theme 'my-dark)
;;; my-dark-theme.el ends here
diff --git a/lisp/my-light-theme.el b/lisp/my-light-theme.el
@@ -8,24 +8,43 @@
(require 'my-theme)
(defvar my-light-core-palette
- '("#051E23" ; darkest-base
- "#FCFFDE" ; brightest-base
- "#A87C04" ; yellow
- "#C24713" ; orange
- "#CE2825" ; red
- "#d33682" ; magenta
- "#6c71c4" ; violet
- "#2570CD" ; blue
- "#01928D" ; cyan
- "#3A9C36")) ; green
+ '("#000000" ; darkest-base
+ "#FFFFEA" ; brightest-base
+ "#785e18" ; yellow
+ "#893a19" ; orange
+ "#891e1c" ; red
+ "#87315a" ; magenta
+ "#525692" ; violet
+ "#1f416c" ; blue
+ "#245c59" ; cyan
+ "#295d26")) ; green
+
+(defvar my-light-yellow-l "#f1f1a8")
+(defvar my-light-blue-l "#eaffff")
(deftheme my-light "A light theme using Solarized framework.")
+(defmacro my-light-theme--custom-faces ()
+ ''((custom-theme-set-faces
+ theme-name
+ `(font-lock-keyword-face ((,class (:foreground ,cyan :weight normal))))
+ `(font-lock-warning-face ((,class (:inherit error :weight normal))))
+ `(font-lock-constant-face ((,class (:foreground ,blue :weight normal))))
+ `(font-lock-builtin-face ((,class (:foreground ,base1 :weight normal))))
+ `(elisp-shorthand-font-lock-face ((,class (:foreground ,yellow))))
+ `(region ((,class (:background ,my-light-yellow-l :extend nil))))
+ `(mode-line ((,class (:foreground ,base0 :background ,my-light-blue-l :box t))))
+ `(mode-line-inactive ((,class (:background ,base03 :box t))))
+
+ `(org-verbatim ((,class (:foreground ,yellow))))
+ `(org-code ((,class (:foreground ,yellow)))))))
+
(solarized-with-color-variables-with-palette
'light
'my-light
my-light-core-palette
- (my-themes--custom-faces))
+ (append (my-themes--custom-faces)
+ (my-light-theme--custom-faces)))
(provide-theme 'my-light)
;;; my-light-theme.el ends here
diff --git a/lisp/my-theme.el b/lisp/my-theme.el
@@ -14,7 +14,6 @@
''((custom-theme-set-faces
theme-name
- `(font-lock-keyword-face ((,class (:foreground ,cyan :weight bold))))
`(font-lock-doc-face ((,class (:foreground ,green :slant normal))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,cyan :weight bold))))
@@ -22,9 +21,7 @@
`(italic ((,class (:slant italic))))
`(line-number ((,class (:foreground ,base01 :weight light))))
`(button ((,class (:foreground ,yellow :underline t))))
-
- `(mode-line ((,class (:foreground ,base0 :background ,base02))))
- `(mode-line-inactive ((,class (:foreground ,base01 :background ,base03))))
+ `(bookmark-face ((,class (:foreground ,yellow))))
`(display-time-date-and-time ((,class (:foreground ,base1 :bold t))))
`(minibuffer-nonselected ((,class (:inverse-video t))))