Add Emacs-style built-in themes
ober
6b1a7b2533eb28c562ad1221eeb3b33b71650604
--- a/lib/jerboa-emacs/qt/commands-parity5.sls +++ b/lib/jerboa-emacs/qt/commands-parity5.sls @@ -1113,16 +1113,13 @@ [win (qt-current-window fr)] [ed (qt-edit-window-editor win)] [buf (qt-buffer-create! "*Themes*" ed #f)] + [theme-lines (map (lambda (name) (string-append " " name)) + (sort + (map symbol->string (theme-names)) + string<?))] [text (string-append "Available Themes\n" (make-string 40 #\=) "\n\n" - " default — Standard dark theme\n" - " light — Light background\n" - " solarized — Solarized color scheme\n" - " monokai — Monokai-inspired\n" - " gruvbox — Gruvbox warm colors\n" - " zenburn — Low contrast warm theme\n" - " dracula — Dark purple theme\n" - " nord — Arctic blue palette\n" - "\nUse M-x load-theme to activate a theme.\n" + (string-join theme-lines "\n") + "\n\nUse M-x load-theme to activate a theme.\n" "Use M-x disable-theme to reset to defaults.\n")]) (qt-buffer-attach! ed buf) (qt-edit-window-buffer-set! win buf) --- a/src/jerboa-emacs/core.ss +++ b/src/jerboa-emacs/core.ss @@ -206,6 +206,20 @@ theme-dracula theme-nord theme-zenburn + theme-adwaita + theme-deeper-blue + theme-dichromacy + theme-leuven + theme-light-blue + theme-manoj-dark + theme-misterioso + theme-tango + theme-tango-dark + theme-tsdh-dark + theme-tsdh-light + theme-wheatgrass + theme-whiteboard + theme-wombat ;; Customize system (from :jerboa-emacs/customize) defvar! --- a/src/jerboa-emacs/qt/commands-parity5.ss +++ b/src/jerboa-emacs/qt/commands-parity5.ss @@ -996,18 +996,14 @@ (win (qt-current-window fr)) (ed (qt-edit-window-editor win)) (buf (qt-buffer-create! "*Themes*" ed #f)) + (theme-lines (map (lambda (name) + (string-append " " name)) + (sort (map symbol->string (theme-names)) string<?))) (text (string-append "Available Themes\n" (make-string 40 #\=) "\n\n" - " default — Standard dark theme\n" - " light — Light background\n" - " solarized — Solarized color scheme\n" - " monokai — Monokai-inspired\n" - " gruvbox — Gruvbox warm colors\n" - " zenburn — Low contrast warm theme\n" - " dracula — Dark purple theme\n" - " nord — Arctic blue palette\n" - "\nUse M-x load-theme to activate a theme.\n" + (string-join theme-lines "\n") + "\n\nUse M-x load-theme to activate a theme.\n" "Use M-x disable-theme to reset to defaults.\n"))) (qt-buffer-attach! ed buf) (set! (qt-edit-window-buffer win) buf) --- a/src/jerboa-emacs/themes.ss +++ b/src/jerboa-emacs/themes.ss @@ -819,6 +819,346 @@ (tab-inactive-fg . "#7f7f7f"))) ;;; ============================================================================ +;;; Emacs Built-in Theme Palettes +;;; ============================================================================ +;; Names mirror GNU Emacs bundled themes. The definitions below map those +;; familiar palettes into Jemacs' compact face model rather than copying Elisp +;; custom-theme forms. + +(def (palette-ref palette key fallback) + (let ((entry (assoc key palette))) + (if entry (cdr entry) fallback))) + +(def (theme-from-palette palette) + (let* ((bg (palette-ref palette 'bg "#181818")) + (fg (palette-ref palette 'fg "#d8d8d8")) + (selection (palette-ref palette 'selection "#404060")) + (comment (palette-ref palette 'comment "#999999")) + (keyword (palette-ref palette 'keyword "#cc99cc")) + (builtin (palette-ref palette 'builtin "#66cccc")) + (string (palette-ref palette 'string "#99cc99")) + (number (palette-ref palette 'number "#f99157")) + (operator (palette-ref palette 'operator fg)) + (type (palette-ref palette 'type "#ffcc66")) + (preprocessor (palette-ref palette 'preprocessor number)) + (heading (palette-ref palette 'heading builtin)) + (modeline-bg (palette-ref palette 'modeline-bg selection)) + (modeline-fg (palette-ref palette 'modeline-fg fg)) + (modeline-inactive-fg (palette-ref palette 'modeline-inactive-fg comment)) + (gutter-bg (palette-ref palette 'gutter-bg bg)) + (gutter-fg (palette-ref palette 'gutter-fg comment)) + (cursor-line (palette-ref palette 'cursor-line selection)) + (match-fg (palette-ref palette 'match-fg bg)) + (match-bg (palette-ref palette 'match-bg type)) + (mismatch-fg (palette-ref palette 'mismatch-fg (palette-ref palette 'error "#ff4040"))) + (mismatch-bg (palette-ref palette 'mismatch-bg selection)) + (isearch-fg (palette-ref palette 'isearch-fg bg)) + (isearch-bg (palette-ref palette 'isearch-bg type)) + (error (palette-ref palette 'error "#ff4040")) + (todo (palette-ref palette 'todo error)) + (done (palette-ref palette 'done string)) + (link (palette-ref palette 'link builtin)) + (tag (palette-ref palette 'tag keyword)) + (date (palette-ref palette 'date number)) + (property (palette-ref palette 'property comment)) + (block-delimiter (palette-ref palette 'block-delimiter preprocessor)) + (block-body (palette-ref palette 'block-body comment)) + (border-active (palette-ref palette 'border-active builtin)) + (border-inactive (palette-ref palette 'border-inactive selection)) + (split (palette-ref palette 'split modeline-bg)) + (tab-bg (palette-ref palette 'tab-bg bg)) + (tab-border (palette-ref palette 'tab-border split)) + (tab-active-bg (palette-ref palette 'tab-active-bg selection)) + (tab-active-fg (palette-ref palette 'tab-active-fg fg)) + (tab-inactive-bg (palette-ref palette 'tab-inactive-bg tab-bg)) + (tab-inactive-fg (palette-ref palette 'tab-inactive-fg comment)) + (org-heading-1 (palette-ref palette 'org-heading-1 heading)) + (org-heading-2 (palette-ref palette 'org-heading-2 string)) + (org-heading-3 (palette-ref palette 'org-heading-3 type)) + (org-heading-4 (palette-ref palette 'org-heading-4 keyword)) + (org-heading-5 (palette-ref palette 'org-heading-5 builtin)) + (org-heading-6 (palette-ref palette 'org-heading-6 number)) + (org-heading-7 (palette-ref palette 'org-heading-7 preprocessor)) + (org-heading-8 (palette-ref palette 'org-heading-8 heading))) + `((default . (fg: ,fg bg: ,bg)) + (region . (bg: ,selection)) + + ;; Syntax highlighting + (font-lock-keyword-face . (fg: ,keyword bold: #t)) + (font-lock-builtin-face . (fg: ,builtin)) + (font-lock-string-face . (fg: ,string)) + (font-lock-comment-face . (fg: ,comment italic: #t)) + (font-lock-number-face . (fg: ,number)) + (font-lock-operator-face . (fg: ,operator)) + (font-lock-type-face . (fg: ,type)) + (font-lock-preprocessor-face . (fg: ,preprocessor)) + (font-lock-heading-face . (fg: ,heading bold: #t)) + + ;; UI elements + (modeline . (fg: ,modeline-fg bg: ,modeline-bg)) + (modeline-inactive . (fg: ,modeline-inactive-fg bg: ,modeline-bg)) + (line-number . (fg: ,gutter-fg bg: ,gutter-bg)) + (cursor-line . (bg: ,cursor-line)) + + ;; Search and matching + (match . (fg: ,match-fg bg: ,match-bg bold: #t)) + (mismatch . (fg: ,mismatch-fg bg: ,mismatch-bg bold: #t)) + (isearch . (fg: ,isearch-fg bg: ,isearch-bg)) + (error . (fg: ,error)) + + ;; Org-mode headings + (org-heading-1 . (fg: ,org-heading-1 bold: #t)) + (org-heading-2 . (fg: ,org-heading-2 bold: #t)) + (org-heading-3 . (fg: ,org-heading-3 bold: #t)) + (org-heading-4 . (fg: ,org-heading-4 bold: #t)) + (org-heading-5 . (fg: ,org-heading-5 bold: #t)) + (org-heading-6 . (fg: ,org-heading-6 bold: #t)) + (org-heading-7 . (fg: ,org-heading-7 bold: #t)) + (org-heading-8 . (fg: ,org-heading-8 bold: #t)) + + ;; Org-mode elements + (org-todo . (fg: ,todo bold: #t)) + (org-done . (fg: ,done bold: #t)) + (org-link . (fg: ,link underline: #t)) + (org-code . (fg: ,string)) + (org-verbatim . (fg: ,builtin)) + (org-table . (fg: ,builtin)) + (org-comment . (fg: ,comment italic: #t)) + (org-tag . (fg: ,tag)) + (org-date . (fg: ,date)) + (org-property . (fg: ,property)) + (org-block-delimiter . (fg: ,block-delimiter)) + (org-block-body . (fg: ,block-body)) + + ;; Tab bar + (tab-active . (fg: ,tab-active-fg bg: ,tab-active-bg)) + (tab-inactive . (fg: ,tab-inactive-fg bg: ,tab-inactive-bg)) + + ;; Window borders + (window-border-active . (fg: ,border-active)) + (window-border-inactive . (fg: ,border-inactive)) + + ;; Legacy UI chrome keys + (bg . ,bg) + (fg . ,fg) + (selection . ,selection) + (modeline-bg . ,modeline-bg) + (modeline-fg . ,modeline-fg) + (echo-bg . ,modeline-bg) + (echo-fg . ,modeline-fg) + (gutter-bg . ,gutter-bg) + (gutter-fg . ,gutter-fg) + (split . ,split) + (tab-bg . ,tab-bg) + (tab-border . ,tab-border) + (tab-active-bg . ,tab-active-bg) + (tab-active-fg . ,tab-active-fg) + (tab-inactive-bg . ,tab-inactive-bg) + (tab-inactive-fg . ,tab-inactive-fg)))) + +(def theme-adwaita + (theme-from-palette + '((bg . "#ffffff") (fg . "#2e3436") (selection . "#c2e0ff") + (modeline-bg . "#e9e9e9") (modeline-fg . "#2e3436") + (modeline-inactive-fg . "#888a85") (gutter-bg . "#f4f4f4") + (gutter-fg . "#888a85") (cursor-line . "#f3f3f3") + (keyword . "#204a87") (builtin . "#5c3566") (string . "#4e9a06") + (comment . "#8d8d84") (number . "#ad7fa8") (operator . "#2e3436") + (type . "#ce5c00") (preprocessor . "#8f5902") (heading . "#3465a4") + (match-bg . "#edd400") (isearch-bg . "#fce94f") (error . "#cc0000") + (todo . "#cc0000") (done . "#4e9a06") (link . "#204a87") + (tag . "#75507b") (date . "#ad7fa8") (border-active . "#3465a4") + (border-inactive . "#d3d7cf") (split . "#d3d7cf") + (tab-active-bg . "#c2e0ff") (tab-inactive-bg . "#eeeeec")))) + +(def theme-deeper-blue + (theme-from-palette + '((bg . "#000033") (fg . "#d9e6f2") (selection . "#003f5f") + (modeline-bg . "#102e4a") (modeline-fg . "#ffffff") + (gutter-bg . "#00002a") (gutter-fg . "#6c8ca8") (cursor-line . "#001f3f") + (keyword . "#00bfff") (builtin . "#87cefa") (string . "#00ff7f") + (comment . "#7f9f9f") (number . "#ffd700") (operator . "#b0c4de") + (type . "#add8e6") (preprocessor . "#ffb86c") (heading . "#5fafff") + (match-bg . "#ffd700") (isearch-bg . "#ff8c00") (error . "#ff6c6b") + (todo . "#ff6c6b") (done . "#00ff7f") (link . "#87cefa") + (tag . "#c792ea") (date . "#ffd700") (border-active . "#5fafff") + (border-inactive . "#102e4a") (split . "#102e4a") + (tab-active-bg . "#003f5f") (tab-inactive-bg . "#000033")))) + +(def theme-dichromacy + (theme-from-palette + '((bg . "#ffffff") (fg . "#000000") (selection . "#d7d7ff") + (modeline-bg . "#d7d7d7") (modeline-fg . "#000000") + (gutter-bg . "#eeeeee") (gutter-fg . "#707070") (cursor-line . "#eeeeff") + (keyword . "#0000ff") (builtin . "#005faf") (string . "#008700") + (comment . "#707070") (number . "#af5f00") (operator . "#000000") + (type . "#8700af") (preprocessor . "#af5f00") (heading . "#005faf") + (match-bg . "#ffff00") (isearch-bg . "#ffd700") (error . "#d70000") + (todo . "#d70000") (done . "#008700") (link . "#0000ff") + (tag . "#8700af") (date . "#af5f00") (border-active . "#005faf") + (border-inactive . "#bcbcbc") (split . "#bcbcbc") + (tab-active-bg . "#d7d7ff") (tab-inactive-bg . "#eeeeee")))) + +(def theme-leuven + (theme-from-palette + '((bg . "#ffffff") (fg . "#333333") (selection . "#d7eaff") + (modeline-bg . "#e5e5e5") (modeline-fg . "#000000") + (modeline-inactive-fg . "#8a8a8a") (gutter-bg . "#f5f5f5") + (gutter-fg . "#9a9a9a") (cursor-line . "#f0f4ff") + (keyword . "#0000ff") (builtin . "#8b008b") (string . "#008000") + (comment . "#8b0000") (number . "#b8860b") (operator . "#333333") + (type . "#228b22") (preprocessor . "#b8860b") (heading . "#1f5fbf") + (match-bg . "#ffff00") (isearch-bg . "#ffcc33") (error . "#ff0000") + (todo . "#ff0000") (done . "#008000") (link . "#0000ee") + (tag . "#8b008b") (date . "#b8860b") (block-body . "#555555") + (border-active . "#1f5fbf") (border-inactive . "#d0d0d0") + (split . "#d0d0d0") (tab-active-bg . "#d7eaff") + (tab-inactive-bg . "#f3f3f3")))) + +(def theme-light-blue + (theme-from-palette + '((bg . "#f0f8ff") (fg . "#000040") (selection . "#b7cfe8") + (modeline-bg . "#c7d8e8") (modeline-fg . "#000040") + (gutter-bg . "#e6f0fa") (gutter-fg . "#607080") (cursor-line . "#e6f0ff") + (keyword . "#0000aa") (builtin . "#006699") (string . "#008000") + (comment . "#708090") (number . "#8b4500") (operator . "#000040") + (type . "#00688b") (preprocessor . "#a0522d") (heading . "#005f9f") + (match-bg . "#ffff66") (isearch-bg . "#ffc857") (error . "#cc0000") + (todo . "#cc0000") (done . "#008000") (link . "#0000aa") + (tag . "#7f007f") (date . "#8b4500") (border-active . "#005f9f") + (border-inactive . "#b7cfe8") (split . "#b7cfe8") + (tab-active-bg . "#b7cfe8") (tab-inactive-bg . "#e6f0fa")))) + +(def theme-manoj-dark + (theme-from-palette + '((bg . "#000000") (fg . "#eeeeee") (selection . "#333366") + (modeline-bg . "#202040") (modeline-fg . "#ffffff") + (gutter-bg . "#080808") (gutter-fg . "#777777") (cursor-line . "#101020") + (keyword . "#00ffff") (builtin . "#87cefa") (string . "#00ff00") + (comment . "#7f7f7f") (number . "#ffaf00") (operator . "#eeeeee") + (type . "#ffff00") (preprocessor . "#ff5f87") (heading . "#87cefa") + (match-bg . "#ffff00") (isearch-bg . "#ffaf00") (error . "#ff0000") + (todo . "#ff0000") (done . "#00ff00") (link . "#87cefa") + (tag . "#ff5fff") (date . "#ffaf00") (border-active . "#00ffff") + (border-inactive . "#333333") (split . "#333333") + (tab-active-bg . "#333366") (tab-inactive-bg . "#101010")))) + +(def theme-misterioso + (theme-from-palette + '((bg . "#2d3743") (fg . "#e1e1e0") (selection . "#4a5664") + (modeline-bg . "#1f252d") (modeline-fg . "#ffffff") + (modeline-inactive-fg . "#8b9aaa") (gutter-bg . "#26313d") + (gutter-fg . "#8b9aaa") (cursor-line . "#34404d") + (keyword . "#b4fa70") (builtin . "#8cc4ff") (string . "#e9c062") + (comment . "#9f9f9f") (number . "#ff9da4") (operator . "#e1e1e0") + (type . "#fce94f") (preprocessor . "#ffb86c") (heading . "#8cc4ff") + (match-bg . "#fce94f") (isearch-bg . "#ffb86c") (error . "#ff6c6b") + (todo . "#ff6c6b") (done . "#b4fa70") (link . "#8cc4ff") + (tag . "#c792ea") (date . "#ff9da4") (border-active . "#8cc4ff") + (border-inactive . "#4a5664") (split . "#1f252d") + (tab-active-bg . "#4a5664") (tab-inactive-bg . "#2d3743")))) + +(def theme-tango + (theme-from-palette + '((bg . "#ffffff") (fg . "#2e3436") (selection . "#c7d9f1") + (modeline-bg . "#eeeeec") (modeline-fg . "#2e3436") + (gutter-bg . "#f4f4f2") (gutter-fg . "#888a85") (cursor-line . "#f2f2f0") + (keyword . "#204a87") (builtin . "#5c3566") (string . "#4e9a06") + (comment . "#8f5902") (number . "#ad7fa8") (operator . "#2e3436") + (type . "#ce5c00") (preprocessor . "#c4a000") (heading . "#3465a4") + (match-bg . "#fce94f") (isearch-bg . "#edd400") (error . "#cc0000") + (todo . "#cc0000") (done . "#4e9a06") (link . "#204a87") + (tag . "#75507b") (date . "#ad7fa8") (border-active . "#3465a4") + (border-inactive . "#d3d7cf") (split . "#d3d7cf") + (tab-active-bg . "#c7d9f1") (tab-inactive-bg . "#eeeeec")))) + +(def theme-tango-dark + (theme-from-palette + '((bg . "#2e3436") (fg . "#eeeeec") (selection . "#4a5f6a") + (modeline-bg . "#24292b") (modeline-fg . "#eeeeec") + (modeline-inactive-fg . "#888a85") (gutter-bg . "#24292b") + (gutter-fg . "#888a85") (cursor-line . "#383f41") + (keyword . "#729fcf") (builtin . "#ad7fa8") (string . "#8ae234") + (comment . "#888a85") (number . "#fce94f") (operator . "#eeeeec") + (type . "#e9b96e") (preprocessor . "#fcaf3e") (heading . "#729fcf") + (match-bg . "#fce94f") (isearch-bg . "#fcaf3e") (error . "#ef2929") + (todo . "#ef2929") (done . "#8ae234") (link . "#729fcf") + (tag . "#ad7fa8") (date . "#fce94f") (border-active . "#729fcf") + (border-inactive . "#555753") (split . "#555753") + (tab-active-bg . "#4a5f6a") (tab-inactive-bg . "#2e3436")))) + +(def theme-tsdh-dark + (theme-from-palette + '((bg . "#000000") (fg . "#dddddd") (selection . "#333333") + (modeline-bg . "#303030") (modeline-fg . "#ffffff") + (gutter-bg . "#080808") (gutter-fg . "#777777") (cursor-line . "#151515") + (keyword . "#00ffff") (builtin . "#87cefa") (string . "#98fb98") + (comment . "#7f7f7f") (number . "#ffa500") (operator . "#dddddd") + (type . "#ffff00") (preprocessor . "#ff69b4") (heading . "#87cefa") + (match-bg . "#ffff00") (isearch-bg . "#ffa500") (error . "#ff4040") + (todo . "#ff4040") (done . "#98fb98") (link . "#87cefa") + (tag . "#ff69b4") (date . "#ffa500") (border-active . "#00ffff") + (border-inactive . "#303030") (split . "#303030") + (tab-active-bg . "#333333") (tab-inactive-bg . "#000000")))) + +(def theme-tsdh-light + (theme-from-palette + '((bg . "#ffffff") (fg . "#000000") (selection . "#d7d7d7") + (modeline-bg . "#d0d0d0") (modeline-fg . "#000000") + (gutter-bg . "#eeeeee") (gutter-fg . "#777777") (cursor-line . "#f3f3f3") + (keyword . "#0000cd") (builtin . "#8b008b") (string . "#008b00") + (comment . "#7f7f7f") (number . "#b8860b") (operator . "#000000") + (type . "#228b22") (preprocessor . "#b22222") (heading . "#0000cd") + (match-bg . "#ffff00") (isearch-bg . "#ffd700") (error . "#ff0000") + (todo . "#ff0000") (done . "#008b00") (link . "#0000cd") + (tag . "#8b008b") (date . "#b8860b") (border-active . "#0000cd") + (border-inactive . "#bcbcbc") (split . "#bcbcbc") + (tab-active-bg . "#d7d7d7") (tab-inactive-bg . "#eeeeee")))) + +(def theme-wheatgrass + (theme-from-palette + '((bg . "#000000") (fg . "#f6f3e8") (selection . "#2f4f2f") + (modeline-bg . "#1f2f1f") (modeline-fg . "#f6f3e8") + (gutter-bg . "#050505") (gutter-fg . "#8f9f8f") (cursor-line . "#102010") + (keyword . "#00ff7f") (builtin . "#7fffd4") (string . "#f0e68c") + (comment . "#7f9f7f") (number . "#ffa500") (operator . "#f6f3e8") + (type . "#adff2f") (preprocessor . "#ffb86c") (heading . "#7fffd4") + (match-bg . "#f0e68c") (isearch-bg . "#ffa500") (error . "#ff4040") + (todo . "#ff4040") (done . "#00ff7f") (link . "#7fffd4") + (tag . "#dda0dd") (date . "#ffa500") (border-active . "#7fffd4") + (border-inactive . "#2f4f2f") (split . "#1f2f1f") + (tab-active-bg . "#2f4f2f") (tab-inactive-bg . "#000000")))) + +(def theme-whiteboard + (theme-from-palette + '((bg . "#ffffff") (fg . "#000000") (selection . "#d8e8ff") + (modeline-bg . "#e6e6e6") (modeline-fg . "#000000") + (gutter-bg . "#f5f5f5") (gutter-fg . "#8a8a8a") (cursor-line . "#f4f8ff") + (keyword . "#0000ff") (builtin . "#0060a8") (string . "#008000") + (comment . "#a02020") (number . "#b8860b") (operator . "#000000") + (type . "#228b22") (preprocessor . "#b22222") (heading . "#0000ff") + (match-bg . "#ffff00") (isearch-bg . "#ffd700") (error . "#ff0000") + (todo . "#ff0000") (done . "#008000") (link . "#0000ee") + (tag . "#8b008b") (date . "#b8860b") (border-active . "#0000ff") + (border-inactive . "#cfcfcf") (split . "#cfcfcf") + (tab-active-bg . "#d8e8ff") (tab-inactive-bg . "#f5f5f5")))) + +(def theme-wombat + (theme-from-palette + '((bg . "#242424") (fg . "#f6f3e8") (selection . "#444444") + (modeline-bg . "#303030") (modeline-fg . "#f6f3e8") + (modeline-inactive-fg . "#99968b") (gutter-bg . "#242424") + (gutter-fg . "#99968b") (cursor-line . "#303030") + (keyword . "#88b8f6") (builtin . "#cae682") (string . "#95e454") + (comment . "#99968b") (number . "#e5786d") (operator . "#f6f3e8") + (type . "#cae682") (preprocessor . "#e5786d") (heading . "#88b8f6") + (match-bg . "#cae682") (isearch-bg . "#e5786d") (error . "#ff6c6b") + (todo . "#ff6c6b") (done . "#95e454") (link . "#88b8f6") + (tag . "#e5786d") (date . "#cae682") (border-active . "#88b8f6") + (border-inactive . "#444444") (split . "#303030") + (tab-active-bg . "#444444") (tab-inactive-bg . "#242424")))) + +;;; ============================================================================ ;;; Theme Registry ;;; ============================================================================ @@ -848,3 +1188,17 @@ (register-theme! 'dracula theme-dracula) (register-theme! 'nord theme-nord) (register-theme! 'zenburn theme-zenburn) +(register-theme! 'adwaita theme-adwaita) +(register-theme! 'deeper-blue theme-deeper-blue) +(register-theme! 'dichromacy theme-dichromacy) +(register-theme! 'leuven theme-leuven) +(register-theme! 'light-blue theme-light-blue) +(register-theme! 'manoj-dark theme-manoj-dark) +(register-theme! 'misterioso theme-misterioso) +(register-theme! 'tango theme-tango) +(register-theme! 'tango-dark theme-tango-dark) +(register-theme! 'tsdh-dark theme-tsdh-dark) +(register-theme! 'tsdh-light theme-tsdh-light) +(register-theme! 'wheatgrass theme-wheatgrass) +(register-theme! 'whiteboard theme-whiteboard) +(register-theme! 'wombat theme-wombat) --- a/tests/test-tier0.ss +++ b/tests/test-tier0.ss @@ -111,6 +111,10 @@ (check-true "theme-names" (pair? (theme-names))) (check-true "dark-exists" (theme-get 'dark)) (check-true "dracula-exists" (theme-get 'dracula)) +(check-true "wombat-exists" (theme-get 'wombat)) +(check-true "tango-dark-exists" (theme-get 'tango-dark)) +(check-true "leuven-exists" (theme-get 'leuven)) +(check-true "theme-count-expanded" (>= (length (theme-names)) 24)) (check "theme-is-alist" (pair? (theme-get 'dark)) #t) ;;; ========================================================================