Blame


1 678b3cb3 2022-03-16 op ;;; minimal-light-theme.el --- A light/dark minimalistic Emacs 27 theme. -*- lexical-binding: t; -*-
2 678b3cb3 2022-03-16 op
3 678b3cb3 2022-03-16 op ;; Copyright (C) 2020 Omar Polo
4 678b3cb3 2022-03-16 op ;; Copyright (C) 2014 Anler Hp
5 678b3cb3 2022-03-16 op
6 678b3cb3 2022-03-16 op ;; Author: Anler Hp <anler86 [at] gmail.com>
7 678b3cb3 2022-03-16 op ;; Keywords: color, theme, minimal
8 678b3cb3 2022-03-16 op ;; X-URL: http://github.com/ikame/minimal-theme
9 678b3cb3 2022-03-16 op ;; URL: http://github.com/ikame/minimal-theme
10 678b3cb3 2022-03-16 op
11 678b3cb3 2022-03-16 op ;; This program is free software; you can redistribute it and/or modify
12 678b3cb3 2022-03-16 op ;; it under the terms of the GNU General Public License as published by
13 678b3cb3 2022-03-16 op ;; the Free Software Foundation, either version 3 of the License, or
14 678b3cb3 2022-03-16 op ;; (at your option) any later version.
15 678b3cb3 2022-03-16 op
16 678b3cb3 2022-03-16 op ;; This program is distributed in the hope that it will be useful,
17 678b3cb3 2022-03-16 op ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 678b3cb3 2022-03-16 op ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 678b3cb3 2022-03-16 op ;; GNU General Public License for more details.
20 678b3cb3 2022-03-16 op
21 678b3cb3 2022-03-16 op ;; You should have received a copy of the GNU General Public License
22 678b3cb3 2022-03-16 op ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
23 678b3cb3 2022-03-16 op
24 678b3cb3 2022-03-16 op ;;; Commentary:
25 678b3cb3 2022-03-16 op ;;
26 678b3cb3 2022-03-16 op ;; A minimalistic color theme to avoid distraction with
27 678b3cb3 2022-03-16 op ;; colors. Based on monochrome theme.
28 678b3cb3 2022-03-16 op
29 678b3cb3 2022-03-16 op ;;; Code:
30 49241fb5 2022-05-09 op (deftheme minimal "minimal light theme.")
31 678b3cb3 2022-03-16 op
32 678b3cb3 2022-03-16 op (let* ((class '((class color) (min-colors 89)))
33 678b3cb3 2022-03-16 op (foreground "#586e75")
34 678b3cb3 2022-03-16 op (background "#ffffff") ;; "#fdf6e3"
35 678b3cb3 2022-03-16 op (cursor "#333")
36 678b3cb3 2022-03-16 op (border "grey90")
37 678b3cb3 2022-03-16 op (minibuffer cursor)
38 678b3cb3 2022-03-16 op (region "grey85")
39 678b3cb3 2022-03-16 op (comment-delimiter "grey55")
40 678b3cb3 2022-03-16 op (comment "grey30")
41 678b3cb3 2022-03-16 op (constant foreground)
42 678b3cb3 2022-03-16 op (string "grey40")
43 678b3cb3 2022-03-16 op (modeline-foreground foreground)
44 678b3cb3 2022-03-16 op (modeline-background "#e1dbca")
45 678b3cb3 2022-03-16 op (modeline-foreground-inactive comment)
46 678b3cb3 2022-03-16 op (modeline-background-inactive background)
47 678b3cb3 2022-03-16 op (modeline-border-color "white")
48 678b3cb3 2022-03-16 op (isearch-background modeline-background)
49 678b3cb3 2022-03-16 op (hl-background "grey94")
50 678b3cb3 2022-03-16 op (hl-face-background nil)
51 678b3cb3 2022-03-16 op (failure "red")
52 678b3cb3 2022-03-16 op (org-background "grey94"))
53 678b3cb3 2022-03-16 op (custom-theme-set-faces
54 49241fb5 2022-05-09 op 'minimal
55 678b3cb3 2022-03-16 op
56 678b3cb3 2022-03-16 op ;; basic stuff
57 678b3cb3 2022-03-16 op `(default ((,class (:background ,background :foreground ,foreground))))
58 678b3cb3 2022-03-16 op `(fringe ((,class (:inherit default))))
59 678b3cb3 2022-03-16 op `(cursor ((,class (:background ,cursor :inverse-video t))))
60 678b3cb3 2022-03-16 op `(vertical-border ((,class (:foreground ,border))))
61 678b3cb3 2022-03-16 op
62 678b3cb3 2022-03-16 op ;; minibuffer
63 678b3cb3 2022-03-16 op `(minibuffer-prompt ((,class (:foreground ,minibuffer :weight bold))))
64 678b3cb3 2022-03-16 op
65 678b3cb3 2022-03-16 op ;; region
66 678b3cb3 2022-03-16 op `(region ((,class (:background ,region))))
67 678b3cb3 2022-03-16 op `(secondary-selection ((,class (:background ,region))))
68 678b3cb3 2022-03-16 op
69 678b3cb3 2022-03-16 op ;; faces
70 678b3cb3 2022-03-16 op `(font-lock-builtin-face ((,class (:foreground ,foreground :weight bold))))
71 678b3cb3 2022-03-16 op `(font-lock-constant-face ((,class (:foreground ,foreground :weight bold))))
72 678b3cb3 2022-03-16 op `(font-lock-keyword-face ((,class (:foreground ,foreground :weight bold))))
73 678b3cb3 2022-03-16 op `(font-lock-type-face ((,class (:foreground ,foreground :slant italic))))
74 678b3cb3 2022-03-16 op `(font-lock-function-name-face ((,class (:foreground ,foreground :weight bold))))
75 678b3cb3 2022-03-16 op `(font-lock-variable-name-face ((,class (:foreground ,foreground))))
76 678b3cb3 2022-03-16 op
77 678b3cb3 2022-03-16 op `(font-lock-comment-delimiter-face ((,class (:foreground ,comment-delimiter))))
78 678b3cb3 2022-03-16 op `(font-lock-comment-face ((,class (:foreground ,comment
79 678b3cb3 2022-03-16 op :slant italic))))
80 678b3cb3 2022-03-16 op `(font-lock-doc-face ((,class (:inherit (font-lock-comment-face)))))
81 678b3cb3 2022-03-16 op `(font-lock-string-face ((,class (:foreground ,foreground :foreground ,string))))
82 678b3cb3 2022-03-16 op
83 678b3cb3 2022-03-16 op ;; faces used by isearch
84 678b3cb3 2022-03-16 op `(isearch ((,class (:foreground ,foreground :background ,isearch-background :weight normal))))
85 678b3cb3 2022-03-16 op `(isearch-fail ((,class (:foreground ,failure :bold t))))
86 678b3cb3 2022-03-16 op `(lazy-highlight
87 678b3cb3 2022-03-16 op ((,class (:foreground ,foreground :background ,region))))
88 678b3cb3 2022-03-16 op
89 24ef044e 2022-06-25 op ;; diff-mode
90 24ef044e 2022-06-25 op `(diff-removed ((,class (:inherit nil
91 e2900f8a 2022-06-26 op :background "#FFC9EA"
92 e2900f8a 2022-06-26 op :foreground ,foreground))))
93 24ef044e 2022-06-25 op `(diff-indicator-removed ((t (:inherit diff-removed))))
94 24ef044e 2022-06-25 op `(diff-added ((,class (:inherit nil
95 e2900f8a 2022-06-26 op :background "#C4EFFF"
96 e2900f8a 2022-06-26 op :foreground ,foreground))))
97 24ef044e 2022-06-25 op `(diff-indicator-added ((t (:inherit diff-added))))
98 e2900f8a 2022-06-26 op `(diff-header ((,class (:inherit nil :background "#dddddd"))))
99 e2900f8a 2022-06-26 op `(diff-file-header ((,class (:inherit diff-header))))
100 24ef044e 2022-06-25 op
101 678b3cb3 2022-03-16 op ;; flymake-error
102 678b3cb3 2022-03-16 op `(flymake-error ((,class :underline (:style line :color "Red1"))))
103 678b3cb3 2022-03-16 op
104 678b3cb3 2022-03-16 op ;; ido-mode
105 678b3cb3 2022-03-16 op `(ido-subdir ((,class (:foreground ,foreground :weight bold))))
106 678b3cb3 2022-03-16 op `(ido-only-match ((,class (:foreground ,foreground :weight bold))))
107 678b3cb3 2022-03-16 op
108 678b3cb3 2022-03-16 op ;; show-paren
109 678b3cb3 2022-03-16 op `(show-paren-match
110 678b3cb3 2022-03-16 op ((,class (:inherit highlight
111 678b3cb3 2022-03-16 op :underline (:color ,foreground :style line)))))
112 678b3cb3 2022-03-16 op `(show-paren-mismatch
113 678b3cb3 2022-03-16 op ((,class (:foreground ,failure :weight bold))))
114 678b3cb3 2022-03-16 op `(show-paren-match-expression
115 678b3cb3 2022-03-16 op ((,class (:inherit default :background "#eee"))))
116 678b3cb3 2022-03-16 op
117 678b3cb3 2022-03-16 op ;; highlight-sexp
118 678b3cb3 2022-03-16 op `(hl-sexp-face
119 678b3cb3 2022-03-16 op ((,class (:inherit show-paren-match-expression))))
120 678b3cb3 2022-03-16 op
121 678b3cb3 2022-03-16 op ;; tab-bar
122 678b3cb3 2022-03-16 op `(tab-bar ((,class :background ,modeline-background)))
123 678b3cb3 2022-03-16 op `(tab-bar-tab ((,class :background ,modeline-background-inactive
124 678b3cb3 2022-03-16 op :box (:line-width 4 :color ,modeline-background-inactive))))
125 678b3cb3 2022-03-16 op `(tab-bar-tab-inactive ((,class :background ,modeline-background
126 678b3cb3 2022-03-16 op :box (:line-width 4 :color ,modeline-background))))
127 678b3cb3 2022-03-16 op
128 678b3cb3 2022-03-16 op ;; help. Don't print funny boxes around keybindings
129 678b3cb3 2022-03-16 op `(help-key-binding ((,class)))
130 678b3cb3 2022-03-16 op
131 678b3cb3 2022-03-16 op ;; modeline
132 678b3cb3 2022-03-16 op `(mode-line
133 678b3cb3 2022-03-16 op ((,class (:inverse-video unspecified
134 678b3cb3 2022-03-16 op :overline ,border
135 678b3cb3 2022-03-16 op :underline nil
136 678b3cb3 2022-03-16 op :foreground ,modeline-foreground
137 678b3cb3 2022-03-16 op :background ,modeline-background
138 678b3cb3 2022-03-16 op :overline ,border
139 678b3cb3 2022-03-16 op :box (:line-width 3 :color ,modeline-background)))))
140 678b3cb3 2022-03-16 op `(mode-line-buffer-id ((,class (:weight bold))))
141 678b3cb3 2022-03-16 op `(mode-line-inactive
142 678b3cb3 2022-03-16 op ((,class (:inverse-video unspecified
143 678b3cb3 2022-03-16 op :overline ,border
144 678b3cb3 2022-03-16 op :underline nil
145 678b3cb3 2022-03-16 op :foreground ,modeline-foreground-inactive
146 678b3cb3 2022-03-16 op :background ,modeline-background-inactive
147 678b3cb3 2022-03-16 op :box (:line-width 3 :color ,background)))))
148 678b3cb3 2022-03-16 op
149 678b3cb3 2022-03-16 op ;; hl-line-mode
150 678b3cb3 2022-03-16 op `(hl-line ((,class (:background ,hl-background))))
151 678b3cb3 2022-03-16 op `(hl-line-face ((,class (:background ,hl-face-background))))
152 678b3cb3 2022-03-16 op
153 678b3cb3 2022-03-16 op ;; highlight-stages-mode
154 678b3cb3 2022-03-16 op `(highlight-stages-negative-level-face ((,class (:foreground ,failure))))
155 678b3cb3 2022-03-16 op `(highlight-stages-level-1-face ((,class (:background ,org-background))))
156 678b3cb3 2022-03-16 op `(highlight-stages-level-2-face ((,class (:background ,region))))
157 678b3cb3 2022-03-16 op `(highlight-stages-level-3-face ((,class (:background ,region))))
158 678b3cb3 2022-03-16 op `(highlight-stages-higher-level-face ((,class (:background ,region))))
159 678b3cb3 2022-03-16 op
160 678b3cb3 2022-03-16 op ;; org-mode
161 678b3cb3 2022-03-16 op `(org-level-1 ((,class (:foreground ,foreground :height 1.6))))
162 678b3cb3 2022-03-16 op `(org-level-2 ((,class (:foreground ,foreground :height 1.5))))
163 678b3cb3 2022-03-16 op `(org-level-3 ((,class (:foreground ,foreground :height 1.4))))
164 678b3cb3 2022-03-16 op `(org-level-4 ((,class (:foreground ,foreground :height 1.3))))
165 678b3cb3 2022-03-16 op `(org-level-5 ((,class (:foreground ,foreground :height 1.2))))
166 678b3cb3 2022-03-16 op `(org-level-6 ((,class (:foreground ,foreground :height 1.1))))
167 678b3cb3 2022-03-16 op `(org-level-7 ((,class (:foreground ,foreground))))
168 678b3cb3 2022-03-16 op `(org-level-8 ((,class (:foreground ,foreground))))
169 678b3cb3 2022-03-16 op
170 678b3cb3 2022-03-16 op `(org-ellipsis ((,class (:inherit org-ellipsis :underline nil))))
171 678b3cb3 2022-03-16 op
172 678b3cb3 2022-03-16 op `(org-table ((,class (:inherit fixed-pitch))))
173 678b3cb3 2022-03-16 op `(org-meta-line ((,class (:inherit (font-lock-comment-face fixed-pitch)))))
174 678b3cb3 2022-03-16 op `(org-property-value ((,class (:inherit fixed-pitch))) t)
175 678b3cb3 2022-03-16 op `(org-verbatim ((,class (:inherit (shadow fixed-pitch)))))
176 678b3cb3 2022-03-16 op `(org-quote ((,class (:slant italic))))
177 678b3cb3 2022-03-16 op
178 678b3cb3 2022-03-16 op `(org-document-title ((,class (:foreground ,foreground))))
179 678b3cb3 2022-03-16 op
180 678b3cb3 2022-03-16 op `(org-link ((,class (:foreground ,foreground :underline t))))
181 678b3cb3 2022-03-16 op `(org-tag ((,class (:background ,org-background :foreground ,foreground))))
182 678b3cb3 2022-03-16 op `(org-warning ((,class (:background ,region :foreground ,foreground :weight bold))))
183 678b3cb3 2022-03-16 op `(org-todo ((,class (:weight bold))))
184 678b3cb3 2022-03-16 op `(org-done ((,class (:weight bold))))
185 678b3cb3 2022-03-16 op `(org-headline-done ((,class (:foreground ,foreground))))
186 678b3cb3 2022-03-16 op
187 678b3cb3 2022-03-16 op `(org-table ((,class (:background ,org-background))))
188 678b3cb3 2022-03-16 op `(org-code ((,class (:background ,org-background))))
189 678b3cb3 2022-03-16 op `(org-date ((,class (:background ,org-background :underline t))))
190 678b3cb3 2022-03-16 op `(org-block ((,class (:background ,org-background))))
191 678b3cb3 2022-03-16 op `(org-block-background ((,class (:background ,org-background :foreground ,foreground))))
192 678b3cb3 2022-03-16 op `(org-block-begin-line
193 678b3cb3 2022-03-16 op ((,class (:background ,org-background :foreground ,comment-delimiter :weight bold))))
194 678b3cb3 2022-03-16 op `(org-block-end-line
195 678b3cb3 2022-03-16 op ((,class (:background ,org-background :foreground ,comment-delimiter :weight bold))))
196 678b3cb3 2022-03-16 op
197 678b3cb3 2022-03-16 op ;; outline
198 678b3cb3 2022-03-16 op `(outline-1 ((,class (:inherit org-level-1))))
199 678b3cb3 2022-03-16 op `(outline-2 ((,class (:inherit org-level-2))))
200 678b3cb3 2022-03-16 op `(outline-3 ((,class (:inherit org-level-3))))
201 678b3cb3 2022-03-16 op `(outline-4 ((,class (:inherit org-level-4))))
202 678b3cb3 2022-03-16 op `(outline-5 ((,class (:inherit org-level-5))))
203 678b3cb3 2022-03-16 op `(outline-6 ((,class (:inherit org-level-6))))
204 678b3cb3 2022-03-16 op `(outline-7 ((,class (:inherit org-level-7))))
205 678b3cb3 2022-03-16 op `(outline-8 ((,class (:inherit org-level-8))))
206 678b3cb3 2022-03-16 op
207 678b3cb3 2022-03-16 op ;; js2-mode
208 678b3cb3 2022-03-16 op `(js2-external-variable ((,class (:inherit base-faces :weight bold))))
209 678b3cb3 2022-03-16 op `(js2-function-param ((,class (:inherit base-faces))))
210 678b3cb3 2022-03-16 op `(js2-instance-member ((,class (:inherit base-faces))))
211 678b3cb3 2022-03-16 op `(js2-jsdoc-html-tag-delimiter ((,class (:inherit base-faces))))
212 678b3cb3 2022-03-16 op `(js2-jsdoc-html-tag-name ((,class (:inherit base-faces))))
213 678b3cb3 2022-03-16 op `(js2-jsdoc-tag ((,class (:inherit base-faces))))
214 678b3cb3 2022-03-16 op `(js2-jsdoc-type ((,class (:inherit base-faces :weight bold))))
215 678b3cb3 2022-03-16 op `(js2-jsdoc-value ((,class (:inherit base-faces))))
216 678b3cb3 2022-03-16 op `(js2-magic-paren ((,class (:underline t))))
217 678b3cb3 2022-03-16 op `(js2-private-function-call ((,class (:inherit base-faces))))
218 678b3cb3 2022-03-16 op `(js2-private-member ((,class (:inherit base-faces))))
219 678b3cb3 2022-03-16 op
220 678b3cb3 2022-03-16 op ;; sh-mode
221 678b3cb3 2022-03-16 op `(sh-heredoc ((,class (:inherit base-faces :slant italic))))
222 678b3cb3 2022-03-16 op
223 678b3cb3 2022-03-16 op ;; telega
224 678b3cb3 2022-03-16 op `(telega-msg-heading ((,class (:inherit base-faces :underline ,comment-delimiter
225 678b3cb3 2022-03-16 op :foreground ,comment))))
226 678b3cb3 2022-03-16 op `(telega-msg-user-title ((,class (:inherit telega-msg-heading))))
227 678b3cb3 2022-03-16 op `(telega-msg-inline-reply ((,class (:inherit telega-msg-heading
228 678b3cb3 2022-03-16 op :slant italic))))
229 678b3cb3 2022-03-16 op
230 678b3cb3 2022-03-16 op ;; objed
231 678b3cb3 2022-03-16 op `(objed-hl ((,class (:background ,region))))
232 678b3cb3 2022-03-16 op
233 678b3cb3 2022-03-16 op ;; circe
234 678b3cb3 2022-03-16 op `(circe-prompt-face ((,class (:inherit default))))))
235 678b3cb3 2022-03-16 op
236 678b3cb3 2022-03-16 op ;;;###autoload
237 678b3cb3 2022-03-16 op (when (and (boundp 'custom-theme-load-path) load-file-name)
238 678b3cb3 2022-03-16 op (add-to-list 'custom-theme-load-path
239 678b3cb3 2022-03-16 op (file-name-as-directory (file-name-directory load-file-name))))
240 678b3cb3 2022-03-16 op
241 49241fb5 2022-05-09 op (provide-theme 'minimal)
242 49241fb5 2022-05-09 op ;;; minimal-theme.el ends here