;;; themes/MTF4-extended-theme.el -*- lexical-binding: t; -*- ;; MTF4-extended-theme.el ;; A brighter, high-contrast light theme based on MTF4 with extended color palette (deftheme MTF4-extended "A brighter, high-contrast light theme with extended color palette based on MTF4.") (let ( ;; Core colors - Bright high-contrast palette (bg-primary "#FFFFFF") (bg-secondary "#F8F9FA") (bg-tertiary "#F0F0F0") (bg-highlight "#E0E0FF") (bg-region "#C0C0FF") (fg-primary "#202020") (fg-secondary "#444444") (fg-tertiary "#666666") (fg-comment "#8D8D84") ;; Syntax colors - Bright and distinct (syntax-magenta "#EF89DF") (syntax-blue "#508AE0") (syntax-purple "#6434A3") (syntax-green "#88D26E") (syntax-teal "#008080") (syntax-red "#FF6B6B") (syntax-orange "#FFB347") (syntax-cyan "#89DAFF") ;; UI colors (ui-cursor "#6434A3") ; Purple cursor for visibility (ui-fringe "#F8F9FA") ; Subtle fringe (ui-mode-line "#508AE0") ; Bright blue mode line (ui-mode-line-inactive "#C0C0C0") (ui-search "#C0FFC0") ; Bright green search (ui-search-fail "#FFC0C0") ; Bright red for failed search ) (custom-theme-set-faces 'MTF4-extended ;; Basic faces - High contrast foundation `(default ((t (:background ,bg-primary :foreground ,fg-primary)))) `(cursor ((t (:background ,ui-cursor)))) `(fringe ((t (:background ,ui-fringe)))) `(hl-line ((t (:background ,bg-highlight)))) `(highlight ((t (:background ,bg-highlight)))) `(region ((t (:background ,bg-region :foreground ,fg-primary)))) `(secondary-selection ((t (:background ,syntax-cyan :foreground ,fg-primary)))) `(lazy-highlight ((t (:background ,ui-search :foreground ,fg-primary)))) ;; Mode line - Bright and clear `(mode-line ((t (:foreground "white" :background ,ui-mode-line :box nil)))) `(mode-line-inactive ((t (:foreground ,fg-primary :background ,ui-mode-line-inactive :box nil)))) `(mode-line-buffer-id ((t (:foreground "white" :weight bold)))) `(mode-line-emphasis ((t (:foreground "white" :weight bold)))) `(mode-line-highlight ((t (:foreground "white")))) ;; Syntax highlighting - Bright, distinct colors `(font-lock-builtin-face ((t (:foreground ,syntax-purple)))) `(font-lock-comment-face ((t (:foreground ,fg-comment :slant italic)))) `(font-lock-comment-delimiter-face ((t (:foreground ,fg-comment)))) `(font-lock-constant-face ((t (:foreground ,syntax-magenta)))) `(font-lock-doc-face ((t (:foreground ,syntax-green)))) `(font-lock-function-name-face ((t (:foreground ,syntax-blue)))) `(font-lock-keyword-face ((t (:foreground ,syntax-purple :weight bold)))) `(font-lock-string-face ((t (:foreground ,syntax-teal)))) `(font-lock-type-face ((t (:foreground ,syntax-green)))) `(font-lock-variable-name-face ((t (:foreground ,syntax-orange)))) `(font-lock-preprocessor-face ((t (:foreground ,syntax-purple)))) `(font-lock-warning-face ((t (:foreground ,syntax-red :weight bold)))) `(font-lock-error-face ((t (:foreground ,syntax-red :weight bold)))) ;; Search and matching `(isearch ((t (:background ,ui-search :foreground ,fg-primary)))) `(isearch-fail ((t (:background ,ui-search-fail :foreground ,fg-primary)))) `(match ((t (:background ,syntax-green :foreground ,bg-primary)))) ;; Minibuffer `(minibuffer-prompt ((t (:foreground ,syntax-blue :weight bold)))) ;; Line numbers `(line-number ((t (:foreground ,fg-comment :background ,bg-secondary)))) `(line-number-current-line ((t (:foreground ,syntax-blue :background ,bg-tertiary :weight bold)))) ;; Diff `(diff-added ((t (:background "#E0FFE0" :foreground ,syntax-green)))) `(diff-removed ((t (:background "#FFE0E0" :foreground ,syntax-red)))) `(diff-changed ((t (:background "#FFFFE0" :foreground ,syntax-orange)))) ;; Whitespace `(whitespace-line ((t (:foreground ,syntax-red :background "#FFFF88")))) `(whitespace-tab ((t (:foreground "#E0E0E0" :background "white")))) `(whitespace-hspace ((t (:foreground "#E0E0E0")))) ;; Links `(link ((t (:foreground ,syntax-blue :underline t)))) `(link-visited ((t (:foreground ,syntax-purple :underline t)))) ;; Org-mode `(org-level-1 ((t (:foreground ,syntax-purple :weight bold :height 1.2)))) `(org-level-2 ((t (:foreground ,syntax-blue :weight bold)))) `(org-level-3 ((t (:foreground ,syntax-magenta :weight bold)))) `(org-done ((t (:foreground ,syntax-green :weight bold)))) `(org-todo ((t (:foreground ,syntax-red :weight bold)))) `(org-date ((t (:foreground ,syntax-teal)))) `(org-block ((t (:background ,bg-secondary :foreground ,fg-primary)))) `(org-code ((t (:foreground ,syntax-orange)))) ;; Terminal compatibility `(term-color-black ((t (:foreground ,fg-primary :background ,fg-primary)))) `(term-color-red ((t (:foreground ,syntax-red :background ,syntax-red)))) `(term-color-green ((t (:foreground ,syntax-green :background ,syntax-green)))) `(term-color-yellow ((t (:foreground ,syntax-orange :background ,syntax-orange)))) `(term-color-blue ((t (:foreground ,syntax-blue :background ,syntax-blue)))) `(term-color-magenta ((t (:foreground ,syntax-magenta :background ,syntax-magenta)))) `(term-color-cyan ((t (:foreground ,syntax-teal :background ,syntax-teal)))) `(term-color-white ((t (:foreground ,bg-primary :background ,bg-primary)))) ;; Company (autocompletion) `(company-tooltip ((t (:background ,bg-secondary :foreground ,fg-primary)))) `(company-tooltip-selection ((t (:background ,syntax-blue :foreground "white")))) `(company-tooltip-common ((t (:foreground ,syntax-purple)))) `(company-scrollbar-bg ((t (:background ,bg-tertiary)))) `(company-scrollbar-fg ((t (:background ,fg-comment)))) ;; Ivy/Helm `(ivy-current-match ((t (:background ,syntax-blue :foreground "white")))) `(ivy-minibuffer-match-face-1 ((t (:foreground ,fg-tertiary)))) `(ivy-minibuffer-match-face-2 ((t (:foreground ,syntax-purple :weight bold)))) `(ivy-minibuffer-match-face-3 ((t (:foreground ,syntax-magenta)))) `(ivy-minibuffer-match-face-4 ((t (:foreground ,syntax-green)))) ;; Dired `(dired-directory ((t (:foreground ,syntax-blue :weight bold)))) `(dired-flagged ((t (:foreground ,syntax-red)))) `(dired-symlink ((t (:foreground ,syntax-magenta)))) )) (provide-theme 'MTF4-extended)