143 lines
6.4 KiB
EmacsLisp
143 lines
6.4 KiB
EmacsLisp
;;; 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)
|