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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
(deftheme eighters
"Eighters gonna eight.")
;; TODO: unset "inverse" on mode-line face; it messes up with
;; foreground/background colors on custom lighters
;; TODO: unify quotes (org, markdown, auctex, tex)
;; TODO: org-fontify-quote-and-verse-blocks: t
;; TODO: light up magit-{section,diff-context}-highlight
;; The default face's font and height are not defined, so that they
;; can be set individually for different computers in .Xresources; see
;; xrdb(1), Xsession(5) and (emacs) Fonts.
(defun eighters--block (spec)
(if (>= emacs-major-version 27)
(append spec '(:extend t))
spec))
(custom-theme-set-faces
'eighters
'(default ((t (:background "black" :foreground "gainsboro"))))
'(fringe ((t (:foreground "gray50"))))
'(shadow ((t (:foreground "gray50"))))
'(vertical-border ((t (:foreground "gray50"))))
'(escape-glyph ((t (:foreground "red2"))))
'(minibuffer-prompt ((t (:foreground "steelblue1" :weight bold))))
'(highlight ((t (:background "gray10"))))
'(region ((t (:background "steel blue" :foreground "gainsboro"))))
'(font-lock-builtin-face ((t (:foreground "steelblue1" :weight bold))))
'(font-lock-comment-face ((t (:foreground "gray50" :slant italic))))
'(font-lock-constant-face ((t (:foreground "maroon1"))))
'(font-lock-doc-face ((t (:inherit (font-lock-string-face)))))
'(font-lock-function-name-face ((t (:foreground "steelblue1" :weight bold))))
'(font-lock-keyword-face ((t (:foreground "cyan" :weight bold))))
'(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face)))))
'(font-lock-string-face ((t (:foreground "green3" :slant italic))))
'(font-lock-regexp-grouping-backslash ((t (:foreground "olivedrab4"))))
'(font-lock-regexp-grouping-construct ((t (:foreground "olivedrab2" :weight bold))))
'(font-lock-type-face ((t (:foreground "green3"))))
'(font-lock-variable-name-face ((t (:foreground "gold"))))
'(completions-common-part ((t (:inherit (font-lock-comment-face)))))
'(link ((t (:underline t :foreground "steelblue1"))))
'(custom-group-tag ((t (:weight bold :foreground "steelblue1" :height 1.2 :inherit (variable-pitch)))))
'(custom-variable-tag ((t (:weight bold :foreground "steelblue1"))))
'(isearch-fail ((t (:background "red2"))))
'(lazy-highlight ((t (:foreground "darkturquoise" :background "darkcyan"))))
'(match ((t (:background "royalblue3"))))
'(error ((t (:foreground "red2" :weight bold))))
'(header-line ((t (:box (:line-width 3 :style released-button)))))
'(mode-line ((t (:inverse-video t))))
'(mode-line-inactive ((t (:foreground "gray70" :background "gray25" :inherit (mode-line)))))
'(mode-line-buffer-id ((t (:weight bold))))
;; Main diff faces, and heirs.
`(diff-added ((t ,(eighters--block '(:background "#12222f")))))
`(diff-removed ((t ,(eighters--block '(:background "#2f1e00")))))
`(diff-changed ((t ,(eighters--block '(:background "#2f2800")))))
'(diff-refine-added ((t (:background "#1b3347"))))
'(diff-refine-removed ((t (:background "#472e00"))))
'(diff-refine-changed ((t (:background "#473c00"))))
'(diff-indicator-added ((t (:foreground "steelblue2"))))
'(diff-indicator-removed ((t (:foreground "orange2"))))
'(diff-indicator-changed ((t (:foreground "gold2"))))
'(ediff-current-diff-A ((t (:inherit (diff-removed)))))
'(ediff-current-diff-B ((t (:inherit (diff-added)))))
'(ediff-current-diff-C ((t ((:inherit (diff-changed))))))
'(ediff-fine-diff-A ((t (:inherit (diff-refine-removed)))))
'(ediff-fine-diff-B ((t (:inherit (diff-refine-added)))))
'(ediff-fine-diff-C ((t (:inherit (diff-refine-changed)))))
'(smerge-base ((t (:inherit (diff-changed)))))
'(smerge-upper ((t (:inherit (diff-removed)))))
'(smerge-lower ((t (:inherit (diff-added)))))
'(smerge-refined-removed ((t (:inherit (diff-refine-removed)))))
'(smerge-refined-added ((t (:inherit (diff-refine-added)))))
;; Supplementary diff faces.
'(diff-header ((t (:foreground "steelblue1" :weight bold))))
'(diff-file-header ((t (:foreground "cyan" :weight bold))))
'(ediff-current-diff-Ancestor ((t (:background "#2f0921"))))
'(ediff-fine-diff-Ancestor ((t (:background "#470e32"))))
`(ediff-even-diff-A ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-odd-diff-A ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-even-diff-B ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-odd-diff-B ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-even-diff-C ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-odd-diff-C ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-even-diff-Ancestor ((t ,(eighters--block '(:inherit (highlight))))))
`(ediff-odd-diff-Ancestor ((t ,(eighters--block '(:inherit (highlight))))))
'(term-color-black ((t (:foreground "black" :background "black"))))
'(term-color-blue ((t (:foreground "steelblue1" :background "steelblue1"))))
'(term-color-cyan ((t (:foreground "cyan" :background "cyan"))))
'(term-color-green ((t (:foreground "green3" :background "green3"))))
'(term-color-magenta ((t (:foreground "maroon1" :background "maroon1"))))
'(term-color-red ((t (:foreground "red2" :background "red2"))))
'(term-color-white ((t (:foreground "gainsboro" :background "gainsboro"))))
'(term-color-yellow ((t (:foreground "gold" :background "gold"))))
'(which-func ((t (:inherit (font-lock-function-name-face)))))
'(sh-heredoc ((t (:foreground "gold"))))
'(erc-input-face ((t (:foreground "brown1"))))
'(erc-my-nick-face ((t (:foreground "brown1" :weight bold))))
'(outline-1 ((t (:height 2.0 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-2 ((t (:height 1.7 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-3 ((t (:height 1.4 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-4 ((t (:height 1.1 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-5 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-6 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-7 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face)))))
'(outline-8 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face)))))
`(org-block ((t ,(eighters--block '(:inherit (highlight))))))
'(org-date ((t (:inherit (font-lock-string-face)))))
'(org-special-keyword ((t (:weight bold :inherit (font-lock-comment-face)))))
'(org-tag ((t (:inherit (font-lock-constant-face button)))))
'(org-todo ((t (:inherit (error)))))
'(font-latex-bold-face ((t (:inherit (bold)))))
'(font-latex-italic-face ((t (:inherit (italic)))))
'(font-latex-math-face ((t (:inherit (tex-math)))))
'(font-latex-script-char-face ((t (:inherit (shadow)))))
'(font-latex-sectioning-5-face ((t (:inherit (variable-pitch font-lock-function-name-face)))))
'(font-latex-verbatim-face ((t (:inherit (tex-verbatim)))))
'(diff-hl-insert ((t (:inherit (diff-indicator-added highlight)))))
'(diff-hl-delete ((t (:inherit (diff-indicator-removed highlight)))))
'(diff-hl-change ((t (:inherit (diff-indicator-changed highlight)))))
'(magit-blame-heading ((t (:inherit (magit-blame-highlight)))))
'(magit-blame-highlight ((t (:weight normal :slant normal :inherit (highlight shadow)))))
'(magit-blame-margin ((t (:slant normal :box (:line-width 1 :style released-button) :inherit (font-lock-function-name-face)))))
'(magit-diff-context ((t (:inherit (shadow)))))
`(magit-diff-context-highlight ((t ,(eighters--block '(:inherit (shadow highlight))))))
'(magit-diff-added ((t (:inherit (diff-added)))))
'(magit-diff-added-highlight ((t (:inherit (diff-added)))))
'(magit-diff-removed ((t (:inherit (diff-removed)))))
'(magit-diff-removed-highlight ((t (:inherit (diff-removed)))))
'(magit-diffstat-added ((t (:inherit (diff-indicator-added)))))
'(magit-diffstat-removed ((t (:inherit (diff-indicator-removed)))))
`(magit-section-highlight ((t ,(eighters--block '(:inherit (highlight)))))))
(custom-theme-set-variables 'eighters
'(ansi-color-names-vector
["black" "red2" "green3" "gold" "steelblue1" "maroon1" "cyan"
"gainsboro"]))
(provide-theme 'eighters)
|