From 4dff70cd59c45d25c8abaeee2078fcb30523e322 Mon Sep 17 00:00:00 2001 From: Kinneyzhang Date: Wed, 7 Jan 2026 02:20:38 +0800 Subject: [PATCH] improve code --- tp-palette.el | 23 ----------------------- tp.el | 25 ++++++++++++++++++++++++- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/tp-palette.el b/tp-palette.el index 1f0c252..405f54e 100644 --- a/tp-palette.el +++ b/tp-palette.el @@ -265,28 +265,5 @@ Returns nil if SYMBOL is unbound or doesn't contain :border." (intern (string-trim-right (symbol-name symbol) "-border"))) (_ (error "Invalid format of tp-palette: %S" symbol)))) -(define-tp tp-palette (palette) - (let* ((pure-palette (tp-palette-pure palette)) - (fg-color (or (tp-palette-fg-color pure-palette) - (face-attribute 'default :foreground))) - (bg-color (or (tp-palette-bg-color pure-palette) - (face-attribute 'default :background))) - (border-color (or (tp-palette-border-color pure-palette) - (face-attribute 'default :foreground)))) - (pcase palette - ((pred tp-palette-p) - `(face ( :foreground ,fg-color - :background ,bg-color - :box (:color ,border-color)))) - ((pred tp-palette-fg-p) - `(face (:foreground ,fg-color))) - ((pred tp-palette-bg-p) - `(face (:background ,bg-color))) - ((pred tp-palette-fbg-p) - `(face (:foreground ,fg-color :background ,bg-color))) - ((pred tp-palette-border-p) - `(face (:box (:color ,border-color)))) - (_ (error "Invalid palette: %S" palette))))) - (provide 'tp-palette) ;;; tp-palette.el ends here diff --git a/tp.el b/tp.el index dba477b..c36303a 100644 --- a/tp.el +++ b/tp.el @@ -4799,9 +4799,32 @@ e.g.3 (tp-parse-color '(:light \"red\" :dark \"green\"))" ((null color) nil) (t (error "Invalid format of color %S" color)))) +;;; Built-in text properties + (require 'tp-palette) -;;; Built-in text properties +(define-tp tp-palette (palette) + (let* ((pure-palette (tp-palette-pure palette)) + (fg-color (or (tp-palette-fg-color pure-palette) + (face-attribute 'default :foreground))) + (bg-color (or (tp-palette-bg-color pure-palette) + (face-attribute 'default :background))) + (border-color (or (tp-palette-border-color pure-palette) + (face-attribute 'default :foreground)))) + (pcase palette + ((pred tp-palette-p) + `(face ( :foreground ,fg-color + :background ,bg-color + :box (:color ,border-color)))) + ((pred tp-palette-fg-p) + `(face (:foreground ,fg-color))) + ((pred tp-palette-bg-p) + `(face (:background ,bg-color))) + ((pred tp-palette-fbg-p) + `(face (:foreground ,fg-color :background ,bg-color))) + ((pred tp-palette-border-p) + `(face (:box (:color ,border-color)))) + (_ (error "Invalid palette: %S" palette))))) (defun tp-suffix-symbol (symbol string) (intern (concat (symbol-name symbol) string)))