summaryrefslogtreecommitdiff
path: root/themes/terafox-emacs-theme.el
blob: 849f1179dc94dd58277dc5934919f9abd1fa3aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
;; Terafox-inspired theme for Emacs
;; Based on the Terafox colorscheme from nightfox.nvim

(deftheme terafox-emacs
  "A dark theme inspired by Terafox colorscheme")

;; Color palette - Terafox syntax with custom bg/fg
(let ((bg          "#003636")      ;; Keep your original dark teal bg
	  (fg          "#8affff")      ;; Keep original fg
	  ;; (bg-alt      "#002626")      ;; Darker variant
	  ;; (bg-alt      "#002323")      ;; Darker variant
	  (bg-alt      "#004344")      ;; Darker variant
	  (gray        "#2f3239")
	  ;; Terafox syntax colors from tmTheme
	  (keyword     "#ad5c7c")      ;; Mauve - keywords
	  (string      "#7aa4a1")      ;; Muted cyan - strings
	  (number      "#fda47f")      ;; Peachy orange - numbers/constants
	  ;; (function    "#4d7d90")      ;; Steel blue - functions
	  (function    "#73a3b7")      ;; Steel blue - functions
	  (type        "#fda47f")      ;; Peachy orange - types
	  (builtin     "#e85c51")      ;; Coral red - built-ins
	  (variable    "#ad6771")      ;; Dusty mauve - variables
	  (operator    "#a1cdd8")      ;; Light cyan - operators
	  (comment     "#6a7c88")      ;; Dark gray - comments
	  (cursor      "#FFC600")      ;; Keep your yellow cursor
	  (selection   "#395e5e"))     ;; Keep your teal selection

  (custom-theme-set-faces
   'terafox-emacs

   ;; Base faces
   `(default ((t (:foreground ,fg :background ,bg))))
   `(cursor ((t (:background ,cursor))))
   `(region ((t (:background ,selection))))
   `(highlight ((t (:background ,bg-alt))))
   `(fringe ((t (:background ,bg))))
   `(vertical-border ((t (:foreground ,operator))))

   ;; Font lock (syntax highlighting)
   `(font-lock-builtin-face ((t (:foreground ,builtin))))
   `(font-lock-comment-face ((t (:foreground ,comment :slant italic))))
   `(font-lock-constant-face ((t (:foreground ,number))))
   `(font-lock-function-name-face ((t (:foreground ,function))))
   `(font-lock-keyword-face ((t (:foreground ,keyword))))
   `(font-lock-string-face ((t (:foreground ,string))))
   `(font-lock-type-face ((t (:foreground ,type))))
   `(font-lock-variable-name-face ((t (:foreground ,variable))))
   `(font-lock-warning-face ((t (:foreground ,builtin :weight bold))))

   ;; Completions
   `(completions-common-part ((t (:foreground ,operator))))
   `(completions-first-difference ((t (:foreground ,type :weight bold))))

   ;; Treemacs
   `(treemacs-directory-face ((t (:foreground "#74c4c4"))))
   `(treemacs-directory-collapsed-face ((t (:foreground "#74c4c4"))))
   `(treemacs-nerd-icons-file-face ((t (:foreground "#74c4c4"))))
   `(treemacs-nerd-icons-root-face ((t (:foreground ,fg :weight bold))))))

(provide-theme 'terafox-emacs)