diff options
| -rw-r--r-- | .emacs.d/eighters-theme.el | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/.emacs.d/eighters-theme.el b/.emacs.d/eighters-theme.el index f61a494..69bd749 100644 --- a/.emacs.d/eighters-theme.el +++ b/.emacs.d/eighters-theme.el @@ -70,6 +70,34 @@ (mapcar 'cadr eighters-palette) "*Eighters palette*")) +(defun eighters-dump-palette () + (interactive) + (let ((blacks '(bg bg-hl-dimmer bg-hl-dim bg-hl)) + (colors '(red green yellow blue magenta cyan)) + (whites '(fg fg-dim fg-dimmer)) + (beg (point)) + (format-sym + (lambda (sym) + (format "(%s \"%s\")" + sym (car (alist-get sym eighters-palette)))))) + (insert + "(defvar eighters-palette\n'(" + (string-join (seq-map format-sym blacks) " ") + "\n") + (let ((beg (point))) + (dolist (hue colors) + (dolist (template '("fg-%s" "fg-%s-dim" "fg-%s-subtle")) + (insert (funcall format-sym (intern (format template hue))))) + (insert "\n") + (dolist (template '("bg-%s" "bg-%s-dim" "bg-%s-dimmer")) + (insert (funcall format-sym (intern (format template hue))))) + (insert "\n")) + (align-regexp beg (point) "\\(\\s-*\\)\\(\"[^)]\\|(\\)" 1 1 t)) + (insert + (string-join (seq-map format-sym whites) " ") + "))\n") + (indent-region beg (point)))) + (defun eighters-color (symbol) (car (alist-get symbol eighters-palette))) |
