add heatmap tp-palette
This commit is contained in:
parent
5d75ff434c
commit
a1ce94c0dd
@ -193,8 +193,72 @@
|
|||||||
:fg ("#57606a" . "#8b949e") :bg ("#f6f8fa" . "#21262d")
|
:fg ("#57606a" . "#8b949e") :bg ("#f6f8fa" . "#21262d")
|
||||||
:border ("#d0d7de" . "#888"))
|
:border ("#d0d7de" . "#888"))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; github 经典绿色主题
|
||||||
|
(define-tp-palette heatmap-g0
|
||||||
|
:fg ("#ebedf0" . "#161b22"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-g1
|
||||||
|
:fg ("#9be9a8" . "#0e4429"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-g2
|
||||||
|
:fg ("#40c463" . "#006d32"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-g3
|
||||||
|
:fg ("#30a14e" . "#26a641"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-g4
|
||||||
|
:fg ("#216e39" . "#39d353"))
|
||||||
|
|
||||||
|
;; github 万圣节主题
|
||||||
|
(define-tp-palette heatmap-h0
|
||||||
|
:fg ("#ebedf0" . "#161b22"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-h1
|
||||||
|
:fg ("#ffee4a" . "#631c03"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-h2
|
||||||
|
:fg ("#ffc501" . "#bd561d"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-h3
|
||||||
|
:fg ("#fe9600" . "#fa7a18"))
|
||||||
|
|
||||||
|
(define-tp-palette heatmap-h4
|
||||||
|
:fg ("#03001c" . "#fddf68"))
|
||||||
|
|
||||||
;;; Utilities
|
;;; Utilities
|
||||||
|
|
||||||
|
(defun tp-theme-dark-p ()
|
||||||
|
(eq (frame-parameter nil 'background-mode) 'dark))
|
||||||
|
|
||||||
|
(defun tp-theme-light-p ()
|
||||||
|
(eq (frame-parameter nil 'background-mode) 'light))
|
||||||
|
|
||||||
|
(defun tp-parse-color (color)
|
||||||
|
"e.g.1 (tp-parse-color \"red\")
|
||||||
|
e.g.2 (tp-parse-color '(\"red\" . \"green\"))
|
||||||
|
e.g.3 (tp-parse-color '(:light \"red\" :dark \"green\"))"
|
||||||
|
(cond ((stringp color) color)
|
||||||
|
((and (consp color)
|
||||||
|
(stringp (car color))
|
||||||
|
(stringp (cdr color)))
|
||||||
|
(cond
|
||||||
|
((tp-theme-light-p) (car color))
|
||||||
|
((tp-theme-dark-p) (cdr color))
|
||||||
|
;; Default to light color when background-mode is unknown
|
||||||
|
(t (car color))))
|
||||||
|
((and (plistp color)
|
||||||
|
(or (plist-member color :light)
|
||||||
|
(plist-member color :dark)))
|
||||||
|
(cond
|
||||||
|
((tp-theme-light-p) (plist-get color :light))
|
||||||
|
((tp-theme-dark-p) (plist-get color :dark))
|
||||||
|
;; Default to light color when background-mode is unknown
|
||||||
|
(t (plist-get color :light))))
|
||||||
|
((null color) nil)
|
||||||
|
(t (error "Invalid format of color %S" color))))
|
||||||
|
|
||||||
(defun tp-palette--get-color (symbol key)
|
(defun tp-palette--get-color (symbol key)
|
||||||
"Get color value for KEY from palette SYMBOL.
|
"Get color value for KEY from palette SYMBOL.
|
||||||
SYMBOL should be a symbol bound to a palette plist.
|
SYMBOL should be a symbol bound to a palette plist.
|
||||||
|
|||||||
54
tp.el
54
tp.el
@ -4745,61 +4745,29 @@ Returns the modified object (string) or nil for buffer operations."
|
|||||||
(read-only-mode 1))
|
(read-only-mode 1))
|
||||||
(switch-to-buffer buffer)))
|
(switch-to-buffer buffer)))
|
||||||
|
|
||||||
(defun tp-theme-dark-p ()
|
|
||||||
(eq (frame-parameter nil 'background-mode) 'dark))
|
|
||||||
|
|
||||||
(defun tp-theme-light-p ()
|
|
||||||
(eq (frame-parameter nil 'background-mode) 'light))
|
|
||||||
|
|
||||||
(defun tp-parse-color (color)
|
|
||||||
"e.g.1 (tp-parse-color \"red\")
|
|
||||||
e.g.2 (tp-parse-color '(\"red\" . \"green\"))
|
|
||||||
e.g.3 (tp-parse-color '(:light \"red\" :dark \"green\"))"
|
|
||||||
(cond ((stringp color) color)
|
|
||||||
((and (consp color)
|
|
||||||
(stringp (car color))
|
|
||||||
(stringp (cdr color)))
|
|
||||||
(cond
|
|
||||||
((tp-theme-light-p) (car color))
|
|
||||||
((tp-theme-dark-p) (cdr color))
|
|
||||||
;; Default to light color when background-mode is unknown
|
|
||||||
(t (car color))))
|
|
||||||
((and (plistp color)
|
|
||||||
(or (plist-member color :light)
|
|
||||||
(plist-member color :dark)))
|
|
||||||
(cond
|
|
||||||
((tp-theme-light-p) (plist-get color :light))
|
|
||||||
((tp-theme-dark-p) (plist-get color :dark))
|
|
||||||
;; Default to light color when background-mode is unknown
|
|
||||||
(t (plist-get color :light))))
|
|
||||||
((null color) nil)
|
|
||||||
(t (error "Invalid format of color %S" color))))
|
|
||||||
|
|
||||||
;;; Built-in text properties
|
;;; Built-in text properties
|
||||||
|
|
||||||
(require 'tp-palette)
|
(require 'tp-palette)
|
||||||
|
|
||||||
(define-tp tp-palette (palette)
|
(define-tp tp-palette (palette)
|
||||||
(let* ((pure-palette (tp-palette-pure palette))
|
(let* ((pure-palette (tp-palette-pure palette))
|
||||||
(fg-color (or (tp-palette-fg-color pure-palette)
|
(fg-color (tp-palette-fg-color pure-palette))
|
||||||
(face-attribute 'default :foreground)))
|
(bg-color (tp-palette-bg-color pure-palette))
|
||||||
(bg-color (or (tp-palette-bg-color pure-palette)
|
(border-color (tp-palette-border-color pure-palette)))
|
||||||
(face-attribute 'default :background)))
|
|
||||||
(border-color (or (tp-palette-border-color pure-palette)
|
|
||||||
(face-attribute 'default :foreground))))
|
|
||||||
(pcase palette
|
(pcase palette
|
||||||
((pred tp-palette-p)
|
((pred tp-palette-p)
|
||||||
`(face ( :foreground ,fg-color
|
`(face (,@(when fg-color (list :foreground fg-color))
|
||||||
:background ,bg-color
|
,@(when bg-color (list :background bg-color))
|
||||||
:box (:color ,border-color))))
|
,@(when border-color (list :box (list :color border-color))))))
|
||||||
((pred tp-palette-fg-p)
|
((pred tp-palette-fg-p)
|
||||||
`(face (:foreground ,fg-color)))
|
`(face (,@(when fg-color (list :foreground fg-color)))))
|
||||||
((pred tp-palette-bg-p)
|
((pred tp-palette-bg-p)
|
||||||
`(face (:background ,bg-color)))
|
`(face (,@(when bg-color (list :background bg-color)))))
|
||||||
((pred tp-palette-fbg-p)
|
((pred tp-palette-fbg-p)
|
||||||
`(face (:foreground ,fg-color :background ,bg-color)))
|
`(face (,@(when fg-color (list :foreground fg-color))
|
||||||
|
,@(when bg-color (list :background bg-color)))))
|
||||||
((pred tp-palette-border-p)
|
((pred tp-palette-border-p)
|
||||||
`(face (:box (:color ,border-color))))
|
`(face (,@(when border-color (list :box (list :color border-color))))))
|
||||||
(_ (error "Invalid palette: %S" palette)))))
|
(_ (error "Invalid palette: %S" palette)))))
|
||||||
|
|
||||||
(defun tp-suffix-symbol (symbol string)
|
(defun tp-suffix-symbol (symbol string)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user