diff --git a/tp-palette.el b/tp-palette.el index d57a7f2..86d77ed 100644 --- a/tp-palette.el +++ b/tp-palette.el @@ -388,7 +388,8 @@ (defvar tp-palette-org-tag '(:fg ("#57606a" . "#8b949e") :bg ("#f6f8fa" . "#21262d") - :border ("#d0d7de" . "#30363d")) + :border ("#d0d7de" . "#888")) + ;; #30363d "Org 标签样式。") ;; ============================================ @@ -750,6 +751,8 @@ SYMBOL should be a symbol bound to a palette plist. KEY should be one of :fg, :bg, or :border. Returns nil if SYMBOL is unbound or doesn't contain KEY." + (setq symbol (intern (concat "tp-palette-" + (symbol-name symbol)))) (when (and (symbolp symbol) (boundp symbol)) (let ((plist (symbol-value symbol))) (when (plistp plist) diff --git a/tp.el b/tp.el index c3e6364..db05d24 100644 --- a/tp.el +++ b/tp.el @@ -3904,12 +3904,19 @@ e.g.3 (tp-parse-color '(:light \"red\" :dark \"green\"))" ;;; Built-in text properties -(define-tp tp-palette (symbol) - (let ((palette (intern (concat "tp-palette-" - (symbol-name symbol))))) - `(face ( :foreground ,(tp-palette-fg-color palette) - :background ,(tp-palette-bg-color palette) - :box (:color ,(tp-palette-border-color palette)))))) +(define-tp tp-palette (palette) + `(face (,@(when-let ((color (tp-palette-fg-color palette))) + `(:foreground ,color)) + ,@(when-let ((color (tp-palette-bg-color palette))) + `(:background ,color)) + ,@(when-let ((color (tp-palette-border-color palette))) + `(:box (:color ,color)))))) + +(define-tp tp-fg (color) + `(face (:foreground ,color))) + +(define-tp tp-bg (color) + `(face (:background ,color))) (define-tp tp-button (plist) (let ((palette (plist-get plist :palette))