This commit is contained in:
2026-05-26 03:18:34 +02:00
parent 102a3357c3
commit 977e0e7690
19 changed files with 1457 additions and 347 deletions
+149
View File
@@ -0,0 +1,149 @@
;;; cutarv41-theme.el --- A high-contrast light theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv41
"A high-contrast light theme with blue/pink accents, optimized for clarity and syntax highlighting.")
(let ((class '((class color) (min-colors 256)))
;; --- Palette ---
;; Base UI
(bg "#f8f8ff") ;; Default background
(fg "#010101") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg
(selection "#aaafff") ;; Region/selected text background
;; ANSI Normal
(dark-blue "#007cbf") ;; Fringe, minibuffer prompts, function names, line numbers
(red "#cf3f29") ;; Errors, negation chars
(medium-blue "#2374de") ;; Keywords, active hyperlinks
(orange "#c75e10") ;; Constants, debug indicators
(magenta "#b05197") ;; Strings, variables, UI dividers
(green "#429e66") ;; Docstrings, comment delimiters
(cyan "#129cc9") ;; Types/Classes
(purple "#a64dd6") ;; Built-ins, visited links
;; ANSI Bright
(light-blue "#7cc9f2") ;; Inactive mode-line/tabs background
(light-red "#f07b69") ;; Warnings, regex constructs
(accent-blue "#6f9ff2") ;; Accents
(yellow "#f0b94a") ;; Active search, warnings
(accent-pink "#EF89DF") ;; Active mode-line/tabs
(bright-green "#2cd45c") ;; Status indicators
(bright-cyan "#11ddee") ;; hl-line hl-tab
(light-purple "#cca0ff")) ;; Accents
(custom-theme-set-faces
'cutarv41
;; --- Core UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark-blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light-blue :foreground ,bg))))
`(hl-line ((,class (:background ,light-purple :extend t))))
`(link ((,class (:foreground ,medium-blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark-blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta))))
;; --- Syntax Highlighting (Font Lock) ---
`(font-lock-comment-face ((,class (:foreground ,"#666666" :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright-green :slant italic))))
`(font-lock-keyword-face ((,class (:foreground ,medium-blue :weight bold))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light-red))))
`(font-lock-function-name-face ((,class (:foreground ,cyan :weight bold))))
`(font-lock-variable-name-face ((,class (:foreground ,medium-blue))))
`(font-lock-type-face ((,class (:foreground ,purple))))
`(font-lock-constant-face ((,class (:foreground ,light-red))))
`(font-lock-builtin-face ((,class (:foreground ,orange))))
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light-red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- Mode-line ---
`(mode-line ((,class (:background ,accent-pink :foreground ,bg))))
`(mode-line-inactive ((,class (:background ,light-blue :foreground ,fg :box (:line-width 1 :color ,accent-blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- Search & Isearch ---
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- Line Numbers ---
`(line-number ((,class (:foreground ,light-blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent-pink :weight bold))))
;; --- Package Specifics ---
;; Doom Modeline
`(doom-modeline-bar ((,class (:background ,accent-pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; Org Mode
`(org-level-1 ((,class (:foreground ,accent-pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent-blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright-green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright-cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light-purple :weight bold))))
`(org-todo ((,class (:foreground ,light-red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright-green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium-blue))))
`(org-link ((,class (:foreground ,light-purple :underline t))))
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark-blue :background ,bg :extend t))))
;; Magit
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark-blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright-green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light-red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark-blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright-cyan :weight bold :underline t))))
;; Tree-sitter
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light-blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light-red))))
;; Flycheck / LSP
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium-blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; Dashboard
`(doom-dashboard-menu-desc ((,class (:foreground ,accent-blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent-pink))))
;; Misc
`(show-paren-match ((,class (:background ,accent-blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark-blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv41)
;;; cutarv41-theme.el ends here
+167
View File
@@ -0,0 +1,167 @@
;;; cutar-theme.el --- A high-contrast dark theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutar
"High-contrast dark theme with blue/pink accents.
Optimized for syntax highlighting and UI clarity based on the Custom Terminal palette.")
(let ((class '((class color) (min-colors 89)))
;; --- BASE UI ---
(bg "#fefcff") ;; Default background
(fg "#101010") ;; Default foreground
(cursor "#fefcff") ;; Cursor bg (matches `bg`; visibility depends on `cursor-type`)
(selection "#6ECFD5") ;; Region/selected text background
(selection-fg "#101010") ;; Region/selected text foreground
;; --- ANSI NORMAL ---
(dark_blue "#0094E7") ;; Fringe, minibuffer prompts, function names, line numbers, inactive tab borders
(red "#C82829") ;; Errors, negation chars, failed search (`isearch-fail`)
(medium_blue "#005FDB") ;; Keywords, active hyperlinks
(orange "#DD7050") ;; Constants, lazy search highlights, debug indicators
(magenta "#D536AD") ;; Strings, variables, UI dividers (`vertical-border`)
(green "#419722") ;; Docstrings, comment delimiters, info/status indicators
(cyan "#409FAF") ;; Types/Classes
(purple "#8a35b8") ;; Built-ins, visited links
;; --- ANSI BRIGHT ---
(light_blue "#82D3FF") ;; Inactive mode-line/tabs background (shares hex with `selection`)
(light_red "#FC7070") ;; Warnings, builtin, regex constructs
(accent_blue "#71A1F3") ;; (Currently unused in faces)
(yellow "#FFB633") ;; Active search (`isearch`), regex backslashes, modified buffer status, warnings
(accent_pink "#EF89DF") ;; Active mode-line/tabs, modeline accent bar
(bright_green "#19BD56") ;; (Currently unused in faces)
(bright_cyan "#9EDEEE") ;; hl-line hl-tab
(light_purple "#B197FC")) ;; (Currently unused in faces)
(custom-theme-set-faces
'cutar
;; --- CORE UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark_blue))))
`(region ((,class (:background ,selection :foreground ,selection-fg))))
`(highlight ((,class (:background ,light_blue :foreground ,bg))))
`(hl-line ((,class (:background ,bright_cyan :extend t)))) ;; Using dark_blue for line highlight dimness
`(link ((,class (:foreground ,medium_blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark_blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta)))) ;; "UI dividers"
;; --- SYNTAX HIGHLIGHTING (Font Lock) ---
;; Comments: ansi_0 (Dark Blue)
`(font-lock-comment-face ((,class (:foreground ,green :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright_green :slant italic))))
;; Keywords: ansi_7 (Purple)
`(font-lock-keyword-face ((,class (:foreground ,medium_blue :weight bold))))
;; Strings: ansi_4 (Magenta)
`(font-lock-string-face ((,class (:foreground ,magenta))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light_red))))
;; Functions: Using Accent Pink (ansi_12) for better visibility as "Primary Accent"
`(font-lock-function-name-face ((,class (:foreground ,dark_blue :weight bold))))
;; Variables: Default foreground or slightly dimmed
`(font-lock-variable-name-face ((,class (:foreground ,medium_blue))))
;; Types: ansi_6 (Cyan)
`(font-lock-type-face ((,class (:foreground ,cyan))))
;; Constants: ansi_3 (Orange)
`(font-lock-constant-face ((,class (:foreground ,orange))))
`(font-lock-builtin-face ((,class (:foreground ,light_red)))) ;; Same as keywords usually
;; Doc & Warnings
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light_red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- MODELINE (Tabs UI Mapping) ---
;; Active Tab: Accent Pink
`(mode-line ((,class (:background ,accent_pink :foreground ,bg))))
;; Inactive Tab: Light Blue
`(mode-line-inactive ((,class (:background ,light_blue :foreground ,fg :box (:line-width 1 :color ,accent_blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- SEARCH & ISEARCH ---
;; Search Matches: Yellow (ansi_11)
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- LINE NUMBERS ---
`(line-number ((,class (:foreground ,light_blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent_pink :weight bold))))
;; --- DIY (Doom Emacs Specifics) ---
`(doom-modeline-bar ((,class (:background ,accent_pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; --- ORG MODE ---
`(org-level-1 ((,class (:foreground ,accent_pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent_blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright_green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright_cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light_purple :weight bold))))
`(org-todo ((,class (:foreground ,light_red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright_green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium_blue))))
`(org-link ((,class (:foreground ,light_purple :underline t)))) ;; "markdown links" -> light_purple
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark_blue :background ,bg :extend t))))
;; --- MAGIT / GIT ---
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark_blue))))
`(magit-item-highlight ((,class (:background ,selection :foreground ,selection-fg))))
`(magit-diff-added ((,class (:foreground ,bright_green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light_red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark_blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright_cyan :weight bold :underline t))))
;; --- TREE-SITTER ---
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light_blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light_red))))
;; --- FLYCHECK / LSP ---
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium_blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection :foreground ,selection-fg))))
;; --- DASHBOARD ---
`(doom-dashboard-menu-desc ((,class (:foreground ,accent_blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent_pink))))
;; --- MISC ---
`(show-paren-match ((,class (:background ,accent_blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark_blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutar)
;;; cutar-theme.el ends here
+167
View File
@@ -0,0 +1,167 @@
;;; cutar-theme.el --- A high-contrast dark theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv32
"High-contrast dark theme with blue/pink accents.
Optimized for syntax highlighting and UI clarity based on the Custom Terminal palette.")
(let ((class '((class color) (min-colors 89)))
;; --- BASE UI ---
(bg "#f8f8ff") ;; Default background
(fg "#000000") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg (matches `bg`; visibility depends on `cursor-type`)
(selection "#f0b94a") ;; Region/selected text background
;;(selection-fg "#000000") ;; Region/selected text foreground
;; --- ANSI NORMAL ---
(dark_blue "#007cbf" ) ;; Fringe, minibuffer prompts, function names, line numbers, inactive tab borders
(red "#cf3f29" ) ;; Errors, negation chars, failed search (`isearch-fail`)
(medium_blue "#2374de" ) ;; Keywords, active hyperlinks
(orange "#c75e10" ) ;; Constants, lazy search highlights, debug indicators
(magenta "#b05197" ) ;; Strings, variables, UI dividers (`vertical-border`)
(green "#429e66" ) ;; Docstrings, comment delimiters, info/status indicators
(cyan "#129cc9" ) ;; Types/Classes
(purple "#a64dd6" ) ;; Built-ins, visited links
;; --- ANSI BRIGHT ---
(light_blue "#7cc9f2") ;; Inactive mode-line/tabs background (shares hex with `selection`)
(light_red "#f07b69") ;; Warnings, builtin, regex constructs
(accent_blue "#6f9ff2") ;; (Currently unused in faces)
(yellow "#f0b94a") ;; Active search (`isearch`), regex backslashes, modified buffer status, warnings
(accent_pink "#EF89DF") ;; Active mode-line/tabs, modeline accent bar
(bright_green "#2cd45c") ;; (Currently unused in faces)
(bright_cyan "#17dbe6") ;; hl-line hl-tab
(light_purple "#c8a0f2")) ;; (Currently unused in faces)
(custom-theme-set-faces
'cutarv32
;; --- CORE UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark_blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light_blue :foreground ,bg))))
`(hl-line ((,class (:background ,light_purple :extend t)))) ;; Using dark_blue for line highlight dimness
`(link ((,class (:foreground ,medium_blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark_blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta)))) ;; "UI dividers"
;; --- SYNTAX HIGHLIGHTING (Font Lock) ---
;; Comments: ansi_0 (Dark Blue)
`(font-lock-comment-face ((,class (:foreground ,green :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright_green :slant italic))))
;; Keywords: ansi_7 (Purple)
`(font-lock-keyword-face ((,class (:foreground ,medium_blue :weight bold))))
;; Strings: ansi_4 (Magenta)
`(font-lock-string-face ((,class (:foreground ,magenta))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light_red))))
;; Functions: Using Accent Pink (ansi_12) for better visibility as "Primary Accent"
`(font-lock-function-name-face ((,class (:foreground ,dark_blue :weight bold))))
;; Variables: Default foreground or slightly dimmed
`(font-lock-variable-name-face ((,class (:foreground ,medium_blue))))
;; Types: ansi_6 (Cyan)
`(font-lock-type-face ((,class (:foreground ,purple))))
;; Constants: ansi_3 (Orange)
`(font-lock-constant-face ((,class (:foreground ,orange))))
`(font-lock-builtin-face ((,class (:foreground ,light_red)))) ;; Same as keywords usually
;; Doc & Warnings
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light_red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- MODELINE (Tabs UI Mapping) ---
;; Active Tab: Accent Pink
`(mode-line ((,class (:background ,accent_pink :foreground ,bg))))
;; Inactive Tab: Light Blue
`(mode-line-inactive ((,class (:background ,light_blue :foreground ,fg :box (:line-width 1 :color ,accent_blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- SEARCH & ISEARCH ---
;; Search Matches: Yellow (ansi_11)
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- LINE NUMBERS ---
`(line-number ((,class (:foreground ,light_blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent_pink :weight bold))))
;; --- DIY (Doom Emacs Specifics) ---
`(doom-modeline-bar ((,class (:background ,accent_pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; --- ORG MODE ---
`(org-level-1 ((,class (:foreground ,accent_pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent_blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright_green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright_cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light_purple :weight bold))))
`(org-todo ((,class (:foreground ,light_red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright_green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium_blue))))
`(org-link ((,class (:foreground ,light_purple :underline t)))) ;; "markdown links" -> light_purple
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark_blue :background ,bg :extend t))))
;; --- MAGIT / GIT ---
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark_blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright_green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light_red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark_blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright_cyan :weight bold :underline t))))
;; --- TREE-SITTER ---
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light_blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light_red))))
;; --- FLYCHECK / LSP ---
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium_blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; --- DASHBOARD ---
`(doom-dashboard-menu-desc ((,class (:foreground ,accent_blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent_pink))))
;; --- MISC ---
`(show-paren-match ((,class (:background ,accent_blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark_blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv32)
;;; cutarv32-theme.el ends here
+167
View File
@@ -0,0 +1,167 @@
;;; cutarv32_dark-theme.el --- A high-contrast dark theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv32_dark
"High-contrast dark theme with blue/pink accents.
Optimized for syntax highlighting and UI clarity based on the Custom Terminal palette.")
(let ((class '((class color) (min-colors 89)))
;; --- BASE UI ---
(bg "#0d0d0d") ;; Default background
(fg "#f8f8ff") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg (matches `bg`; visibility depends on `cursor-type`)
(selection "#f0b94a") ;; Region/selected text background
;;(selection-fg "#000000") ;; Region/selected text foreground
;; --- ANSI NORMAL ---
(dark_blue "#007cbf" ) ;; Fringe, minibuffer prompts, function names, line numbers, inactive tab borders
(red "#cf3f29" ) ;; Errors, negation chars, failed search (`isearch-fail`)
(medium_blue "#2374de" ) ;; Keywords, active hyperlinks
(orange "#c76e2a" ) ;; Constants, lazy search highlights, debug indicators
(magenta "#b05197" ) ;; Strings, variables, UI dividers (`vertical-border`)
(green "#429e66" ) ;; Docstrings, comment delimiters, info/status indicators
(cyan "#129cc9" ) ;; Types/Classes
(purple "#a64dd6" ) ;; Built-ins, visited links
;; --- ANSI BRIGHT ---
(light_blue "#7cc9f2") ;; Inactive mode-line/tabs background (shares hex with `selection`)
(light_red "#f07b69") ;; Warnings, builtin, regex constructs
(accent_blue "#6f9ff2") ;; (Currently unused in faces)
(yellow "#f0b94a") ;; Active search (`isearch`), regex backslashes, modified buffer status, warnings
(accent_pink "#EF89DF") ;; Active mode-line/tabs, modeline accent bar
(bright_green "#2cd45c") ;; (Currently unused in faces)
(bright_cyan "#17dbe6") ;; hl-line hl-tab
(light_purple "#c8a0f2")) ;; (Currently unused in faces)
(custom-theme-set-faces
'cutarv32_dark
;; --- CORE UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark_blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light_blue :foreground ,bg))))
`(hl-line ((,class (:background ,light_purple :extend t)))) ;; Using dark_blue for line highlight dimness
`(link ((,class (:foreground ,medium_blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark_blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta)))) ;; "UI dividers"
;; --- SYNTAX HIGHLIGHTING (Font Lock) ---
;; Comments: ansi_0 (Dark Blue)
`(font-lock-comment-face ((,class (:foreground ,green :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright_green :slant italic))))
;; Keywords: ansi_7 (Purple)
`(font-lock-keyword-face ((,class (:foreground ,medium_blue :weight bold))))
;; Strings: ansi_4 (Magenta)
`(font-lock-string-face ((,class (:foreground ,magenta))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light_red))))
;; Functions: Using Accent Pink (ansi_12) for better visibility as "Primary Accent"
`(font-lock-function-name-face ((,class (:foreground ,dark_blue :weight bold))))
;; Variables: Default foreground or slightly dimmed
`(font-lock-variable-name-face ((,class (:foreground ,medium_blue))))
;; Types: ansi_6 (Cyan)
`(font-lock-type-face ((,class (:foreground ,purple))))
;; Constants: ansi_3 (Orange)
`(font-lock-constant-face ((,class (:foreground ,orange))))
`(font-lock-builtin-face ((,class (:foreground ,light_red)))) ;; Same as keywords usually
;; Doc & Warnings
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light_red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- MODELINE (Tabs UI Mapping) ---
;; Active Tab: Accent Pink
`(mode-line ((,class (:background ,accent_pink :foreground ,bg))))
;; Inactive Tab: Light Blue
`(mode-line-inactive ((,class (:background ,light_blue :foreground ,fg :box (:line-width 1 :color ,accent_blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- SEARCH & ISEARCH ---
;; Search Matches: Yellow (ansi_11)
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- LINE NUMBERS ---
`(line-number ((,class (:foreground ,light_blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent_pink :weight bold))))
;; --- DIY (Doom Emacs Specifics) ---
`(doom-modeline-bar ((,class (:background ,accent_pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; --- ORG MODE ---
`(org-level-1 ((,class (:foreground ,accent_pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent_blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright_green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright_cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light_purple :weight bold))))
`(org-todo ((,class (:foreground ,light_red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright_green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium_blue))))
`(org-link ((,class (:foreground ,light_purple :underline t)))) ;; "markdown links" -> light_purple
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark_blue :background ,bg :extend t))))
;; --- MAGIT / GIT ---
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark_blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright_green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light_red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark_blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright_cyan :weight bold :underline t))))
;; --- TREE-SITTER ---
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light_blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light_red))))
;; --- FLYCHECK / LSP ---
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium_blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; --- DASHBOARD ---
`(doom-dashboard-menu-desc ((,class (:foreground ,accent_blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent_pink))))
;; --- MISC ---
`(show-paren-match ((,class (:background ,accent_blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark_blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv32_dark)
;;; cutarv32_dark-theme.el ends here
+167
View File
@@ -0,0 +1,167 @@
;;; cutarv33-theme.el --- A high-contrast dark theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv33
"High-contrast dark theme with blue/pink accents.
Optimized for syntax highlighting and UI clarity based on the Custom Terminal palette.")
(let ((class '((class color) (min-colors 89)))
;; --- BASE UI ---
(bg "#f8f8ff") ;; Default background
(fg "#000000") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg (matches `bg`; visibility depends on `cursor-type`)
(selection "#aaafff") ;; Region/selected text background
;;(selection-fg "#000000") ;; Region/selected text foreground
;; --- ANSI NORMAL ---
(dark_blue "#007cbf" ) ;; Fringe, minibuffer prompts, function names, line numbers, inactive tab borders
(red "#cf3f29" ) ;; Errors, negation chars, failed search (`isearch-fail`)
(medium_blue "#2374de" ) ;; Keywords, active hyperlinks
(orange "#c75e10" ) ;; Constants, lazy search highlights, debug indicators
(magenta "#b05197" ) ;; Strings, variables, UI dividers (`vertical-border`)
(green "#429e66" ) ;; Docstrings, comment delimiters, info/status indicators
(cyan "#129cc9" ) ;; Types/Classes
(purple "#a64dd6" ) ;; Built-ins, visited links
;; --- ANSI BRIGHT ---
(light_blue "#7cc9f2") ;; Inactive mode-line/tabs background (shares hex with `selection`)
(light_red "#f07b69") ;; Warnings, builtin, regex constructs
(accent_blue "#6f9ff2") ;; (Currently unused in faces)
(yellow "#f0b94a") ;; Active search (`isearch`), regex backslashes, modified buffer status, warnings
(accent_pink "#EF89DF") ;; Active mode-line/tabs, modeline accent bar
(bright_green "#2cd45c") ;; (Currently unused in faces)
(bright_cyan "#11ddee") ;; hl-line hl-tab
(light_purple "#c8a0f2")) ;; (Currently unused in faces)
(custom-theme-set-faces
'cutarv33
;; --- CORE UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark_blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light_blue :foreground ,bg))))
`(hl-line ((,class (:background ,light_purple :extend t)))) ;; Using dark_blue for line highlight dimness
`(link ((,class (:foreground ,medium_blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark_blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta)))) ;; "UI dividers"
;; --- SYNTAX HIGHLIGHTING (Font Lock) ---
;; Comments: ansi_0 (Dark Blue)
`(font-lock-comment-face ((,class (:foreground ,green :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright_green :slant italic))))
;; Keywords: ansi_7 (Purple)
`(font-lock-keyword-face ((,class (:foreground ,medium_blue :weight bold))))
;; Strings: ansi_4 (Magenta)
`(font-lock-string-face ((,class (:foreground ,magenta))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light_red))))
;; Functions: Using Accent Pink (ansi_12) for better visibility as "Primary Accent"
`(font-lock-function-name-face ((,class (:foreground ,cyan :weight bold))))
;; Variables: Default foreground or slightly dimmed
`(font-lock-variable-name-face ((,class (:foreground ,medium_blue))))
;; Types: ansi_6 (Cyan)
`(font-lock-type-face ((,class (:foreground ,purple))))
;; Constants: ansi_3 (Orange)
`(font-lock-constant-face ((,class (:foreground ,light_red))))
`(font-lock-builtin-face ((,class (:foreground ,orange)))) ;; Same as keywords usually
;; Doc & Warnings
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light_red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- MODELINE (Tabs UI Mapping) ---
;; Active Tab: Accent Pink
`(mode-line ((,class (:background ,accent_pink :foreground ,bg))))
;; Inactive Tab: Light Blue
`(mode-line-inactive ((,class (:background ,light_blue :foreground ,fg :box (:line-width 1 :color ,accent_blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- SEARCH & ISEARCH ---
;; Search Matches: Yellow (ansi_11)
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- LINE NUMBERS ---
`(line-number ((,class (:foreground ,light_blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent_pink :weight bold))))
;; --- DIY (Doom Emacs Specifics) ---
`(doom-modeline-bar ((,class (:background ,accent_pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; --- ORG MODE ---
`(org-level-1 ((,class (:foreground ,accent_pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent_blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright_green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright_cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light_purple :weight bold))))
`(org-todo ((,class (:foreground ,light_red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright_green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium_blue))))
`(org-link ((,class (:foreground ,light_purple :underline t)))) ;; "markdown links" -> light_purple
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark_blue :background ,bg :extend t))))
;; --- MAGIT / GIT ---
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark_blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright_green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light_red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark_blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright_cyan :weight bold :underline t))))
;; --- TREE-SITTER ---
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light_blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light_red))))
;; --- FLYCHECK / LSP ---
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium_blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; --- DASHBOARD ---
`(doom-dashboard-menu-desc ((,class (:foreground ,accent_blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent_pink))))
;; --- MISC ---
`(show-paren-match ((,class (:background ,accent_blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark_blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv33)
;;; cutarv33-theme.el ends here
+167
View File
@@ -0,0 +1,167 @@
;;; cutarv33-theme.el --- A high-contrast dark theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv33
"High-contrast dark theme with blue/pink accents.
Optimized for syntax highlighting and UI clarity based on the Custom Terminal palette.")
(let ((class '((class color) (min-colors 89)))
;; --- BASE UI ---
(bg "#f8f8ff") ;; Default background
(fg "#000000") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg (matches `bg`; visibility depends on `cursor-type`)
(selection "#f0b94a") ;; Region/selected text background
;;(selection-fg "#000000") ;; Region/selected text foreground
;; --- ANSI NORMAL ---
(dark_blue "#007cbf" ) ;; Fringe, minibuffer prompts, function names, line numbers, inactive tab borders
(red "#cf3f29" ) ;; Errors, negation chars, failed search (`isearch-fail`)
(medium_blue "#2374de" ) ;; Keywords, active hyperlinks
(orange "#c75e10" ) ;; Constants, lazy search highlights, debug indicators
(magenta "#b05197" ) ;; Strings, variables, UI dividers (`vertical-border`)
(green "#429e66" ) ;; Docstrings, comment delimiters, info/status indicators
(cyan "#129cc9" ) ;; Types/Classes
(purple "#a64dd6" ) ;; Built-ins, visited links
;; --- ANSI BRIGHT ---
(light_blue "#7cc9f2") ;; Inactive mode-line/tabs background (shares hex with `selection`)
(light_red "#f07b69") ;; Warnings, builtin, regex constructs
(accent_blue "#6f9ff2") ;; (Currently unused in faces)
(yellow "#f0b94a") ;; Active search (`isearch`), regex backslashes, modified buffer status, warnings
(accent_pink "#EF89DF") ;; Active mode-line/tabs, modeline accent bar
(bright_green "#2cd45c") ;; (Currently unused in faces)
(bright_cyan "#17dbe6") ;; hl-line hl-tab
(light_purple "#c8a0f2")) ;; (Currently unused in faces)
(custom-theme-set-faces
'cutarv33
;; --- CORE UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark_blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light_blue :foreground ,bg))))
`(hl-line ((,class (:background ,light_purple :extend t)))) ;; Using dark_blue for line highlight dimness
`(link ((,class (:foreground ,medium_blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark_blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta)))) ;; "UI dividers"
;; --- SYNTAX HIGHLIGHTING (Font Lock) ---
;; Comments: ansi_0 (Dark Blue)
`(font-lock-comment-face ((,class (:foreground ,green :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright_green :slant italic))))
;; Keywords: ansi_7 (Purple)
`(font-lock-keyword-face ((,class (:foreground ,medium_blue :weight bold))))
;; Strings: ansi_4 (Magenta)
`(font-lock-string-face ((,class (:foreground ,magenta))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light_red))))
;; Functions: Using Accent Pink (ansi_12) for better visibility as "Primary Accent"
`(font-lock-function-name-face ((,class (:foreground ,dark_blue :weight bold))))
;; Variables: Default foreground or slightly dimmed
`(font-lock-variable-name-face ((,class (:foreground ,medium_blue))))
;; Types: ansi_6 (Cyan)
`(font-lock-type-face ((,class (:foreground ,purple))))
;; Constants: ansi_3 (Orange)
`(font-lock-constant-face ((,class (:foreground ,light_red))))
`(font-lock-builtin-face ((,class (:foreground ,medium_blue)))) ;; Same as keywords usually
;; Doc & Warnings
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light_red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- MODELINE (Tabs UI Mapping) ---
;; Active Tab: Accent Pink
`(mode-line ((,class (:background ,accent_pink :foreground ,bg))))
;; Inactive Tab: Light Blue
`(mode-line-inactive ((,class (:background ,light_blue :foreground ,fg :box (:line-width 1 :color ,accent_blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- SEARCH & ISEARCH ---
;; Search Matches: Yellow (ansi_11)
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- LINE NUMBERS ---
`(line-number ((,class (:foreground ,light_blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent_pink :weight bold))))
;; --- DIY (Doom Emacs Specifics) ---
`(doom-modeline-bar ((,class (:background ,accent_pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; --- ORG MODE ---
`(org-level-1 ((,class (:foreground ,accent_pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent_blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright_green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright_cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light_purple :weight bold))))
`(org-todo ((,class (:foreground ,light_red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright_green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium_blue))))
`(org-link ((,class (:foreground ,light_purple :underline t)))) ;; "markdown links" -> light_purple
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark_blue :background ,bg :extend t))))
;; --- MAGIT / GIT ---
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark_blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright_green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light_red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark_blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright_cyan :weight bold :underline t))))
;; --- TREE-SITTER ---
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent_pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light_blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light_red))))
;; --- FLYCHECK / LSP ---
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium_blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; --- DASHBOARD ---
`(doom-dashboard-menu-desc ((,class (:foreground ,accent_blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent_pink))))
;; --- MISC ---
`(show-paren-match ((,class (:background ,accent_blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark_blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv33)
;;; cutarv33-theme.el ends here
+149
View File
@@ -0,0 +1,149 @@
;;; cutarv41-dark-theme.el --- A high-contrast dark theme for TUI Emacs -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv41-dark
"Inverted high-contrast dark theme optimized for TUI/Terminal Emacs.")
(let ((class '((class color) (min-colors 89)))
;; --- Palette (Inverted from cutarv41) ---
;; Base UI
(bg "#000000") ;; Deep dark background (Inverted from #f8f8ff)
(fg "#ffffff") ;; Ghost white foreground (Inverted from #000000)
(cursor "#ffffff") ;; Cursor bg
(selection "#3e4481") ;; Muted blue selection (Adjusted from #aaafff for dark contrast)
;; ANSI Normal (Lightened for visibility on dark bg)
(dark-blue "#4da6ff") ;; Lighter blue (Adjusted from #007cbf)
(red "#ff6b6b") ;; Lighter red (Adjusted from #cf3f29)
(medium-blue "#6da6ff") ;; Lighter blue (Adjusted from #2374de)
(orange "#ffb347") ;; Lighter orange (Adjusted from #c75e10)
(magenta "#d18ecb") ;; Lighter magenta (Adjusted from #b05197)
(green "#8fbc8f") ;; Lighter green (Adjusted from #429e66)
(cyan "#80daeb") ;; Lighter cyan (Adjusted from #129cc9)
(purple "#c8a0f2") ;; Lighter purple (Adjusted from #a64dd6)
;; ANSI Bright (Retained from base as they are already light)
(light-blue "#7cc9f2")
(light-red "#f07b69")
(accent-blue "#6f9ff2")
(yellow "#f0b94a")
(accent-pink "#EF89DF")
(bright-green "#2cd45c")
(bright-cyan "#11ddee")
(light-purple "#c8a0f2"))
(custom-theme-set-faces
'cutarv41-dark
;; --- Core UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark-blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light-blue :foreground ,bg))))
`(hl-line ((,class (:background ,dark-blue :extend t))))
`(link ((,class (:foreground ,medium-blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark-blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta))))
;; --- Syntax Highlighting (Font Lock) ---
`(font-lock-comment-face ((,class (:foreground ,"#eef" :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright-green :slant italic))))
`(font-lock-keyword-face ((,class (:foreground ,medium-blue :weight bold))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light-red))))
`(font-lock-function-name-face ((,class (:foreground ,cyan :weight bold))))
`(font-lock-variable-name-face ((,class (:foreground ,medium-blue))))
`(font-lock-type-face ((,class (:foreground ,purple))))
`(font-lock-constant-face ((,class (:foreground ,light-red))))
`(font-lock-builtin-face ((,class (:foreground ,orange))))
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light-red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- Mode-line ---
`(mode-line ((,class (:background ,accent-pink :foreground ,bg))))
`(mode-line-inactive ((,class (:background ,light-blue :foreground ,fg :box (:line-width 1 :color ,accent-blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- Search & Isearch ---
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- Line Numbers ---
`(line-number ((,class (:foreground ,light-blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent-pink :weight bold))))
;; --- Package Specifics ---
;; Doom Modeline
`(doom-modeline-bar ((,class (:background ,accent-pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; Org Mode
`(org-level-1 ((,class (:foreground ,accent-pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent-blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright-green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright-cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light-purple :weight bold))))
`(org-todo ((,class (:foreground ,light-red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright-green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium-blue))))
`(org-link ((,class (:foreground ,light-purple :underline t))))
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark-blue :background ,bg :extend t))))
;; Magit
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark-blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright-green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light-red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark-blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright-cyan :weight bold :underline t))))
;; Tree-sitter
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light-blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light-red))))
;; Flycheck / LSP
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium-blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; Dashboard
`(doom-dashboard-menu-desc ((,class (:foreground ,accent-blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent-pink))))
;; Misc
`(show-paren-match ((,class (:background ,accent-blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark-blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv41-dark)
;;; cutarv41-dark-theme.el ends here
+149
View File
@@ -0,0 +1,149 @@
;;; cutarv41-dark-theme.el --- A high-contrast dark theme for TUI Emacs -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv41-dark
"Inverted high-contrast dark theme optimized for TUI/Terminal Emacs.")
(let ((class '((class color) (min-colors 89)))
;; --- Palette (Inverted from cutarv41) ---
;; Base UI
(bg "#0d0d0d") ;; Deep dark background (Inverted from #f8f8ff)
(fg "#f8f8ff") ;; Ghost white foreground (Inverted from #000000)
(cursor "#0d0d0d") ;; Cursor bg
(selection "#3e4481") ;; Muted blue selection (Adjusted from #aaafff for dark contrast)
;; ANSI Normal (Lightened for visibility on dark bg)
(dark-blue "#4da6ff") ;; Lighter blue (Adjusted from #007cbf)
(red "#ff6b6b") ;; Lighter red (Adjusted from #cf3f29)
(medium-blue "#6da6ff") ;; Lighter blue (Adjusted from #2374de)
(orange "#ffb347") ;; Lighter orange (Adjusted from #c75e10)
(magenta "#d18ecb") ;; Lighter magenta (Adjusted from #b05197)
(green "#8fbc8f") ;; Lighter green (Adjusted from #429e66)
(cyan "#80daeb") ;; Lighter cyan (Adjusted from #129cc9)
(purple "#c8a0f2") ;; Lighter purple (Adjusted from #a64dd6)
;; ANSI Bright (Retained from base as they are already light)
(light-blue "#7cc9f2")
(light-red "#f07b69")
(accent-blue "#6f9ff2")
(yellow "#f0b94a")
(accent-pink "#EF89DF")
(bright-green "#2cd45c")
(bright-cyan "#11ddee")
(light-purple "#c8a0f2"))
(custom-theme-set-faces
'cutarv41-dark
;; --- Core UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark-blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light-blue :foreground ,bg))))
`(hl-line ((,class (:background ,dark-blue :extend t))))
`(link ((,class (:foreground ,medium-blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark-blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta))))
;; --- Syntax Highlighting (Font Lock) ---
`(font-lock-comment-face ((,class (:foreground ,"#eef" :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright-green :slant italic))))
`(font-lock-keyword-face ((,class (:foreground ,medium-blue :weight bold))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light-red))))
`(font-lock-function-name-face ((,class (:foreground ,cyan :weight bold))))
`(font-lock-variable-name-face ((,class (:foreground ,medium-blue))))
`(font-lock-type-face ((,class (:foreground ,purple))))
`(font-lock-constant-face ((,class (:foreground ,light-red))))
`(font-lock-builtin-face ((,class (:foreground ,orange))))
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light-red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- Mode-line ---
`(mode-line ((,class (:background ,accent-pink :foreground ,bg))))
`(mode-line-inactive ((,class (:background ,light-blue :foreground ,fg :box (:line-width 1 :color ,accent-blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- Search & Isearch ---
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- Line Numbers ---
`(line-number ((,class (:foreground ,light-blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent-pink :weight bold))))
;; --- Package Specifics ---
;; Doom Modeline
`(doom-modeline-bar ((,class (:background ,accent-pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; Org Mode
`(org-level-1 ((,class (:foreground ,accent-pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent-blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright-green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright-cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light-purple :weight bold))))
`(org-todo ((,class (:foreground ,light-red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright-green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium-blue))))
`(org-link ((,class (:foreground ,light-purple :underline t))))
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark-blue :background ,bg :extend t))))
;; Magit
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark-blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright-green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light-red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark-blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright-cyan :weight bold :underline t))))
;; Tree-sitter
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light-blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light-red))))
;; Flycheck / LSP
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium-blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; Dashboard
`(doom-dashboard-menu-desc ((,class (:foreground ,accent-blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent-pink))))
;; Misc
`(show-paren-match ((,class (:background ,accent-blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark-blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv41-dark)
;;; cutarv41-dark-theme.el ends here
+149
View File
@@ -0,0 +1,149 @@
;;; cutarv41-theme.el --- A high-contrast light theme with blue/pink accents -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme cutarv41
"A high-contrast light theme with blue/pink accents, optimized for clarity and syntax highlighting.")
(let ((class '((class color) (min-colors 89)))
;; --- Palette ---
;; Base UI
(bg "#f8f8ff") ;; Default background
(fg "#000000") ;; Default foreground
(cursor "#f8f8ff") ;; Cursor bg
(selection "#aaafff") ;; Region/selected text background
;; ANSI Normal
(dark-blue "#007cbf") ;; Fringe, minibuffer prompts, function names, line numbers
(red "#cf3f29") ;; Errors, negation chars
(medium-blue "#2374de") ;; Keywords, active hyperlinks
(orange "#c75e10") ;; Constants, debug indicators
(magenta "#b05197") ;; Strings, variables, UI dividers
(green "#429e66") ;; Docstrings, comment delimiters
(cyan "#129cc9") ;; Types/Classes
(purple "#a64dd6") ;; Built-ins, visited links
;; ANSI Bright
(light-blue "#7cc9f2") ;; Inactive mode-line/tabs background
(light-red "#f07b69") ;; Warnings, regex constructs
(accent-blue "#6f9ff2") ;; Accents
(yellow "#f0b94a") ;; Active search, warnings
(accent-pink "#EF89DF") ;; Active mode-line/tabs
(bright-green "#2cd45c") ;; Status indicators
(bright-cyan "#11ddee") ;; hl-line hl-tab
(light-purple "#cca0ff")) ;; Accents
(custom-theme-set-faces
'cutarv41
;; --- Core UI ---
`(default ((,class (:background ,bg :foreground ,fg))))
`(cursor ((,class (:background ,bg :foreground ,bg))))
`(fringe ((,class (:background ,bg :foreground ,dark-blue))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:background ,light-blue :foreground ,bg))))
`(hl-line ((,class (:background ,light-purple :extend t))))
`(link ((,class (:foreground ,medium-blue :underline t))))
`(link-visited ((,class (:foreground ,purple :underline t))))
`(minibuffer-prompt ((,class (:foreground ,dark-blue :weight bold))))
`(vertical-border ((,class (:foreground ,magenta))))
;; --- Syntax Highlighting (Font Lock) ---
`(font-lock-comment-face ((,class (:foreground ,"#666666" :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,bright-green :slant italic))))
`(font-lock-keyword-face ((,class (:foreground ,medium-blue :weight bold))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,light-red))))
`(font-lock-function-name-face ((,class (:foreground ,cyan :weight bold))))
`(font-lock-variable-name-face ((,class (:foreground ,medium-blue))))
`(font-lock-type-face ((,class (:foreground ,purple))))
`(font-lock-constant-face ((,class (:foreground ,light-red))))
`(font-lock-builtin-face ((,class (:foreground ,orange))))
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,green))))
`(font-lock-warning-face ((,class (:foreground ,light-red :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,red))))
;; --- Mode-line ---
`(mode-line ((,class (:background ,accent-pink :foreground ,bg))))
`(mode-line-inactive ((,class (:background ,light-blue :foreground ,fg :box (:line-width 1 :color ,accent-blue)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 2 :color ,fg)))))
;; --- Search & Isearch ---
`(isearch ((,class (:background ,yellow :foreground ,bg :weight bold))))
`(isearch-fail ((,class (:background ,red :foreground ,fg))))
`(lazy-highlight ((,class (:background ,orange :foreground ,bg))))
;; --- Line Numbers ---
`(line-number ((,class (:foreground ,light-blue :background ,fg))))
`(line-number-current-line ((,class (:foreground ,bg :background ,accent-pink :weight bold))))
;; --- Package Specifics ---
;; Doom Modeline
`(doom-modeline-bar ((,class (:background ,accent-pink :foreground ,fg))))
`(doom-modeline-buffer-file ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-path ((,class (:foreground ,fg :weight bold))))
`(doom-modeline-buffer-modified ((,class (:foreground ,yellow :weight bold))))
`(doom-modeline-debug ((,class (:foreground ,orange))))
`(doom-modeline-info ((,class (:foreground ,green))))
`(doom-modeline-warning ((,class (:foreground ,yellow))))
`(doom-modeline-error ((,class (:foreground ,red))))
;; Org Mode
`(org-level-1 ((,class (:foreground ,accent-pink :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,accent-blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,bright-green :weight bold))))
`(org-level-4 ((,class (:foreground ,bright-cyan :weight bold))))
`(org-level-5 ((,class (:foreground ,light-purple :weight bold))))
`(org-todo ((,class (:foreground ,light-red :weight bold :box t))))
`(org-done ((,class (:foreground ,bright-green :weight bold :box t))))
`(org-date ((,class (:foreground ,medium-blue))))
`(org-link ((,class (:foreground ,light-purple :underline t))))
`(org-code ((,class (:foreground ,orange :background ,bg))))
`(org-block ((,class (:background ,bg :foreground ,fg :extend t))))
`(org-block-begin-line ((,class (:foreground ,dark-blue :background ,bg :extend t))))
;; Magit
`(magit-branch-local ((,class (:foreground ,cyan :weight bold))))
`(magit-branch-remote ((,class (:foreground ,green :weight bold))))
`(magit-hash ((,class (:foreground ,dark-blue))))
`(magit-item-highlight ((,class (:background ,selection))))
`(magit-diff-added ((,class (:foreground ,bright-green :background unspecified))))
`(magit-diff-removed ((,class (:foreground ,light-red :background unspecified))))
`(magit-diff-context-highlight ((,class (:background ,dark-blue :foreground ,fg))))
`(magit-section-heading ((,class (:foreground ,bright-cyan :weight bold :underline t))))
;; Tree-sitter
`(tree-sitter-hl-face:function.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:method.call ((,class (:foreground ,accent-pink))))
`(tree-sitter-hl-face:type ((,class (:foreground ,cyan))))
`(tree-sitter-hl-face:property ((,class (:foreground ,light-blue))))
`(tree-sitter-hl-face:parameter ((,class (:foreground ,orange))))
`(tree-sitter-hl-face:escape ((,class (:foreground ,light-red))))
;; Flycheck / LSP
`(flycheck-error ((,class (:underline (:style wave :color ,red)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,orange)))))
`(flycheck-info ((,class (:underline (:style wave :color ,medium-blue)))))
`(lsp-face-highlight-textual ((,class (:background ,selection))))
;; Dashboard
`(doom-dashboard-menu-desc ((,class (:foreground ,accent-blue))))
`(doom-dashboard-banner ((,class (:foreground ,accent-pink))))
;; Misc
`(show-paren-match ((,class (:background ,accent-blue :foreground ,bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,fg :weight bold))))
`(success ((,class (:foreground ,green))))
`(error ((,class (:foreground ,red :weight bold))))
`(warning ((,class (:foreground ,orange))))
`(header-line ((,class (:background ,dark-blue :foreground ,fg))))))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'cutarv41)
;;; cutarv41-theme.el ends here