diff options
Diffstat (limited to 'themes/dupre-palette.el')
| -rw-r--r-- | themes/dupre-palette.el | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/themes/dupre-palette.el b/themes/dupre-palette.el deleted file mode 100644 index 3901ef82b..000000000 --- a/themes/dupre-palette.el +++ /dev/null @@ -1,131 +0,0 @@ -;;; dupre-palette.el --- Color palette for dupre-theme -*- lexical-binding: t -*- - -;; Author: Craig Jennings <c@cjennings.net> - -;;; Commentary: - -;; This file defines the color palette and semantic mappings for dupre-theme. -;; Colors are defined as hex values for GUI Emacs. - -;;; Code: - -(defconst dupre-palette - '(;;; Base colors - (bg "#0d0b0a") - (bg+0 "#0d0b0a") - (bg+1 "#252321") - (bg+2 "#474544") - - ;; Grays - (gray-2 "#58574e") - (gray-1 "#6c6a60") - (gray "#969385") - (gray+1 "#b4b1a2") - (gray+2 "#d0cbc0") - - ;; Steel (blue-grays) - (steel "#8a9496") - (steel+1 "#acb0b3") - (steel+2 "#c0c7ca") - - ;; Blues - (blue "#67809c") - (blue+1 "#b2c3cc") - (blue+2 "#d9e2ff") - - ;; Greens - (green-2 "#646d14") - (green-1 "#869038") - (green "#a4ac64") - (green+1 "#ccc768") - - ;; Reds - (red-3 "#3f1c0f") - (red-2 "#7c2a09") - (red-1 "#a7502d") - (red "#d47c59") - (red+1 "#edb08f") - (red+2 "#edbca2") - - ;; Yellows - (yellow-2 "#875f00") - (yellow-1 "#ffd700") - (yellow "#d7af5f") - (yellow+1 "#ffd75f") - (yellow+2 "#f9ee98") - - ;; Intense/alert colors - (intense-red "#ff2a00") - - ;; Foreground - (fg "#f0fef0")) - "Color palette for dupre-theme. -Each entry is (NAME VALUE) where VALUE is a hex color string.") - -(defconst dupre-semantic-mappings - '(;;; Status colors - (accent yellow) - (err intense-red) - (warning yellow+1) - (success green) - (info blue+1) - - ;;; Syntax highlighting - (keyword blue) - (string green) - (comment gray) - (constant yellow+1) - (function red) - (variable blue+1) - (type green+1) - (builtin yellow) - (preprocessor steel+1) - - ;;; UI elements - (border bg+2) - (selection bg+2) - (hl-line bg+0) - (link blue+1) - (cursor fg) - (prompt green) - - ;;; Diff colors - (diff-added-bg green-2) - (diff-added-fg green) - (diff-removed-bg red-3) - (diff-removed-fg red) - (diff-changed-bg yellow-2) - (diff-changed-fg yellow)) - "Semantic color mappings for dupre-theme. -Each entry maps a semantic name to a palette color name.") - -(defun dupre-get-color (name) - "Get the hex value for color NAME from the palette. -NAME can be a base palette color or a semantic mapping." - (let ((semantic (assq name dupre-semantic-mappings))) - (if semantic - ;; Resolve semantic mapping to base color - (dupre-get-color (cadr semantic)) - ;; Look up in base palette - (let ((color (assq name dupre-palette))) - (if color - (cadr color) - (error "Unknown color: %s" name)))))) - -(defmacro dupre-with-colors (&rest body) - "Execute BODY with all palette colors bound as local variables." - (declare (indent 0)) - `(let ,(mapcar (lambda (entry) - (list (car entry) (cadr entry))) - dupre-palette) - ;; Also bind semantic mappings resolved to their values - (let ,(mapcar (lambda (entry) - (let* ((name (car entry)) - (target (cadr entry)) - (resolved (cadr (assq target dupre-palette)))) - (list name resolved))) - dupre-semantic-mappings) - ,@body))) - -(provide 'dupre-palette) -;;; dupre-palette.el ends here |
