.
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | JetBrains Darcula (Default Dark) for Emacs
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | A complete port of the default JetBrains Darcula theme for Emacs
17 |
18 |
19 |
20 | 
21 |
22 |
23 |
24 | #### Installation: use-package
25 |
26 | ```emacs-lisp
27 | (use-package jetbrains-darcula-theme
28 | :config
29 | (load-theme 'jetbrains-darcula t))
30 | ```
31 |
32 |
33 | #### Installation: manual install
34 |
35 | Download `jetbrains-darcula-theme.el` and put it under `~/.emacs.d/themes/` (or `~/.config/emacs/themes/`), then add these lines to your `init.el`:
36 |
37 | ```emacs-lisp
38 | (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
39 | ; or
40 | (add-to-list 'custom-theme-load-path "~/.config/emacs/themes/")
41 |
42 | (load-theme 'jetbrains-darcula t)
43 | ```
44 |
45 | #### Installation: straight
46 |
47 | Requires [use-package](https://github.com/jwiegley/use-package) and [straight.el](https://github.com/raxod502/straight.el)
48 | Add these lines to your 'init.el':
49 |
50 | ```emacs-lisp
51 | (use-package jetbrains-darcula-theme
52 | :straight (:host github :repo "ianyepan/jetbrains-darcula-emacs-theme")
53 | :custom
54 | (load-theme 'jetbrains-darcula t))
55 | ```
56 |
57 | #### User-customization
58 |
59 | You need `after-load-theme-hook`, if you don't already have it, define one like this:
60 |
61 | ```emacs-lisp
62 | (defvar after-load-theme-hook nil
63 | "Hook run after a color theme is loaded using `load-theme'.")
64 |
65 | (defun run-after-load-theme-hook (&rest _)
66 | "Run `after-load-theme-hook'."
67 | (run-hooks 'after-load-theme-hook))
68 |
69 | (advice-add #'load-theme :after #'run-after-load-theme-hook)
70 | ```
71 |
72 | Then in your `use-package` declaration:
73 |
74 | ```emacs-lisp
75 | (use-package jetbrains-darcula-theme
76 | :straight (:host github :repo "ianyepan/jetbrains-darcula-emacs-theme")
77 | :config
78 | (defun customize-jetbrains-darcula ()
79 | "Customize jetbrains darcula theme"
80 | (if (member 'jetbrains-darcula custom-enabled-themes)
81 | (jetbrains-darcula-with-color-variables
82 | (custom-theme-set-faces
83 | 'jetbrains-darcula
84 | `(default ((t (:foreground ,fg1 :background ,bg0))))))))
85 | (add-hook 'after-load-theme-hook 'customize-jetbrains-darcula)
86 | (load-theme 'jetbrains-darcula t))
87 | ```
88 |
89 |
90 | Copyright© 2020-2021 Ian Y.E. Pan
91 |
92 | This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
93 |
94 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
95 |
96 | You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
97 |
--------------------------------------------------------------------------------
/darcula1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ianyepan/jetbrains-darcula-emacs-theme/46f153385e50998826ca13e18056c6a972768cfd/darcula1.png
--------------------------------------------------------------------------------
/jetbrains-darcula-theme.el:
--------------------------------------------------------------------------------
1 | ;;; jetbrains-darcula-theme.el --- A complete port of the default JetBrains Darcula theme -*- lexical-binding: t; -*-
2 |
3 | ;; Copyright (C) 2020 , Ian Y.E. Pan
4 |
5 | ;; Author: Ian Y.E. Pan
6 | ;; URL: https://github.com/ianpan870102/jetbrains-darcula-emacs-theme
7 | ;; Version: 1.0.0
8 |
9 | ;; This program is free software: you can redistribute it and/or modify
10 | ;; it under the terms of the GNU General Public License as published by
11 | ;; the Free Software Foundation, either version 3 of the License, or
12 | ;; (at your option) any later version.
13 |
14 | ;; This program is distributed in the hope that it will be useful,
15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | ;; GNU General Public License for more details.
18 |
19 | ;; You should have received a copy of the GNU General Public License
20 | ;; along with this program. If not, see .
21 |
22 | ;; This file is not part of Emacs.
23 |
24 | ;;; Commentary:
25 | ;; A complete port of the default JetBrains Darcula theme for Emacs
26 |
27 | ;;; Code:
28 |
29 | (deftheme jetbrains-darcula)
30 | (let ((class '((class color) (min-colors 89)))
31 | (fg0 "#8997a6")
32 | (fg1 "#a9b7c6") ; default fg
33 | (fg2 "#cccccc")
34 | (fg3 "#e8e8e8")
35 | (fg4 "#fafafa")
36 | (bg0 "#111111")
37 | (bg1 "#2b2b2b") ; default bg
38 | (bg2 "#303030")
39 | (bg3 "#313335") ; hl-line
40 | (bg4 "#383c3f")
41 | (bg5 "#515757") ; tab-bar active tab
42 | (bg-hl "#214283")
43 | (jb-r "#ac0909")
44 | (jb-g "#36a546")
45 | (jb-y "#f1eb7f")
46 | (key2 "#c57825")
47 | (key3 "#d0d0ff")
48 | (accent "#ffffff")
49 | (mode-line-bg "#3c3f41")
50 | (mode-line-bg-dark "#2c2f31")
51 | (line-num "#606366")
52 | (builtin "#c57825")
53 | (keyword "#c57825")
54 | (const "#9676ac")
55 | (comment "#8e9292")
56 | (doc "#5e8759")
57 | (func "#ffc66d")
58 | (str "#5e8759")
59 | (type "#c57825")
60 | (var "#9676ac")
61 | (warning "#990000")
62 |
63 | ;; standardized palette
64 | (jb-yellow "#ffc66d")
65 | (jb-bluegreen "#318495")
66 | (jb-magenta "#9676ac")
67 | (jb-orange "#c57825")
68 | (jb-red "#8c0909")
69 | (jb-blue "#7ca8c6")
70 | (jb-green "#5e8759"))
71 |
72 |
73 | (custom-theme-set-faces
74 | 'jetbrains-darcula
75 | `(default ((,class (:background ,bg1 :foreground ,fg1))))
76 |
77 | `(font-lock-builtin-face ((,class (:foreground ,builtin))))
78 | `(font-lock-comment-face ((,class (:foreground ,comment :italic t))))
79 | `(font-lock-negation-char-face ((,class (:foreground ,const))))
80 | `(font-lock-reference-face ((,class (:foreground ,const))))
81 | `(font-lock-constant-face ((,class (:foreground ,const))))
82 | `(font-lock-doc-face ((,class (:foreground ,doc))))
83 | `(font-lock-function-name-face ((,class (:foreground ,func :bold nil))))
84 | `(font-lock-keyword-face ((,class (:bold nil :foreground ,keyword))))
85 | `(font-lock-string-face ((,class (:foreground ,str))))
86 | `(font-lock-type-face ((,class (:foreground ,type ))))
87 | `(font-lock-variable-name-face ((,class (:foreground ,var))))
88 | `(font-lock-warning-face ((,class (:foreground ,jb-red :background ,bg2))))
89 |
90 | `(region ((,class (:background ,bg-hl :extend nil))))
91 | `(secondary-selection ((,class (:inherit region))))
92 | `(highlight ((,class (:foreground ,bg3 :background ,fg3))))
93 | `(hl-line ((,class (:background ,bg3))))
94 | `(fringe ((,class (:background ,bg1 :foreground ,fg4))))
95 | `(cursor ((,class (:background "white"))))
96 | `(show-paren-match-face ((,class (:background ,warning))))
97 | `(show-paren-match ((t (:foreground "yellow" :background ,bg4 :bold t))))
98 | `(show-paren-mismatch ((t (:background ,warning))))
99 | `(isearch ((t (:foreground ,accent :background ,jb-green))))
100 | `(isearch-fail ((t (:foreground ,accent :background ,jb-red))))
101 | `(lazy-highlight ((t (:foreground ,accent :background ,jb-y))))
102 | `(vertical-border ((,class (:foreground ,bg3))))
103 | `(minibuffer-prompt ((,class (:foreground ,fg2 :weight normal))))
104 | `(default-italic ((,class (:italic t))))
105 | `(link ((,class (:foreground ,jb-blue :underline t))))
106 | `(error ((,class (:foreground ,jb-orange))))
107 | `(warning ((,class (:foreground ,jb-magenta))))
108 | `(success ((,class (:foreground ,jb-bluegreen))))
109 | `(dired-directory ((t (:inherit (font-lock-keyword-face)))))
110 | `(line-number ((,class (:foreground ,line-num :background ,bg3))))
111 | `(line-number-current-line ((,class (:foreground ,fg1 :background ,bg3))))
112 |
113 | `(mode-line ((,class (:bold nil :foreground ,fg4 :background ,mode-line-bg))))
114 | `(mode-line-inactive ((,class (:bold nil :foreground ,fg1 :background ,mode-line-bg-dark))))
115 | `(mode-line-buffer-id ((,class (:bold nil :foreground ,accent :background nil))))
116 | `(mode-line-highlight ((,class (:foreground ,keyword :box nil :weight normal))))
117 | `(mode-line-emphasis ((,class (:foreground ,fg1))))
118 |
119 | `(company-tooltip ((t (:foreground ,fg2 :background ,bg4))))
120 | `(company-preview-common ((t (:foreground unspecified :background ,bg4))))
121 | `(company-scrollbar-bg ((t (:background ,bg4))))
122 | `(company-scrollbar-fg ((t (:background ,bg0))))
123 | `(company-tooltip-common ((t (:foreground "#926297" :bold t))))
124 | `(company-tooltip-selection ((t (:background ,bg-hl))))
125 | `(company-tooltip-annotation ((t (:foreground ,doc)))) ; parameter hints etc.
126 |
127 | `(org-document-title ((,class (:foreground ,jb-orange :height 1.2 :bold t))))
128 | `(org-level-1 ((,class (:bold nil :foreground ,jb-orange :height 1.1))))
129 | `(org-level-2 ((,class (:bold nil :foreground ,jb-magenta))))
130 | `(org-level-3 ((,class (:bold nil :foreground ,jb-green))))
131 | `(org-level-4 ((,class (:bold nil :foreground ,jb-bluegreen))))
132 | `(org-code ((,class (:foreground ,fg2))))
133 | `(org-hide ((,class (:foreground ,fg4))))
134 | `(org-date ((,class (:underline t :foreground ,jb-green) )))
135 | `(org-footnote ((,class (:underline t :foreground ,fg4))))
136 | `(org-link ((,class (:underline t :foreground ,type ))))
137 | `(org-special-keyword ((,class (:foreground ,jb-green))))
138 | `(org-block ((,class (:foreground ,fg2 :background ,bg0 :extend t))))
139 | `(org-quote ((,class (:inherit org-block :slant italic))))
140 | `(org-verse ((,class (:inherit org-block :slant italic))))
141 | `(org-todo ((,class (:box (:line-width 1 :color ,fg3) :foreground ,keyword :bold nil))))
142 | `(org-done ((,class (:box (:line-width 1 :color ,bg3) :bold nil :foreground ,bg4))))
143 | `(org-warning ((,class (:underline t :foreground ,warning))))
144 | `(org-agenda-structure ((,class (:weight normal :foreground ,fg3 :box (:color ,fg4) :background ,bg3))))
145 | `(org-agenda-date ((,class (:foreground ,var :height 1.1 ))))
146 | `(org-agenda-date-weekend ((,class (:weight normal :foreground ,fg4))))
147 | `(org-agenda-date-today ((,class (:weight normal :foreground ,keyword :height 1.2))))
148 | `(org-agenda-done ((,class (:foreground ,bg4))))
149 | `(org-scheduled ((,class (:foreground ,type))))
150 | `(org-scheduled-today ((,class (:foreground ,func :weight normal :height 1.2))))
151 | `(org-ellipsis ((,class (:foreground ,builtin))))
152 | `(org-verbatim ((,class (:foreground ,fg4))))
153 | `(org-document-info-keyword ((,class (:foreground ,jb-green))))
154 | `(org-sexp-date ((,class (:foreground ,fg4))))
155 |
156 | `(font-latex-bold-face ((,class (:foreground ,type))))
157 | `(font-latex-italic-face ((,class (:foreground ,key3 :italic t))))
158 | `(font-latex-string-face ((,class (:foreground ,str))))
159 | `(font-latex-match-reference-keywords ((,class (:foreground ,const))))
160 | `(font-latex-match-variable-keywords ((,class (:foreground ,var))))
161 |
162 | `(ido-only-match ((,class (:foreground ,keyword))))
163 | `(ido-subdir ((,class (:weight normal :foreground ,fg0))))
164 | `(ido-first-match ((,class (:foreground ,keyword :bold nil))))
165 |
166 | `(gnus-header-content ((,class (:foreground ,keyword))))
167 | `(gnus-header-from ((,class (:foreground ,var))))
168 | `(gnus-header-name ((,class (:foreground ,type))))
169 | `(gnus-header-subject ((,class (:foreground ,func :bold nil))))
170 |
171 | `(mu4e-view-url-number-face ((,class (:foreground ,type))))
172 | `(mu4e-cited-1-face ((,class (:foreground ,fg2))))
173 | `(mu4e-cited-7-face ((,class (:foreground ,fg3))))
174 | `(mu4e-header-marks-face ((,class (:foreground ,type))))
175 |
176 | `(ffap ((,class (:foreground ,fg4))))
177 |
178 | `(js2-private-function-call ((,class (:foreground ,const))))
179 | `(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,str))))
180 | `(js2-jsdoc-html-tag-name ((,class (:foreground ,key2))))
181 | `(js2-external-variable ((,class (:foreground ,type ))))
182 | `(js2-function-param ((,class (:foreground ,const))))
183 | `(js2-jsdoc-value ((,class (:foreground ,str))))
184 | `(js2-private-member ((,class (:foreground ,fg3))))
185 | `(js2-warning ((t (:underline ,warning))))
186 | `(js2-error ((t (:foreground ,warning :weight normal))))
187 | `(js2-jsdoc-tag ((t (:foreground ,var))))
188 | `(js2-jsdoc-type ((t (:foreground ,var))))
189 | `(js2-instance-member ((t (:foreground ,var))))
190 | `(js2-object-property ((t (:foreground ,func))))
191 | `(js2-magic-paren ((t (:foreground ,const))))
192 | `(js2-function-call ((t (:foreground ,const))))
193 | `(js2-keywords ((t (:foreground ,keyword))))
194 | `(js3-warning-face ((,class (:underline ,keyword))))
195 | `(js3-error-face ((,class (:underline ,warning))))
196 | `(js3-external-variable-face ((,class (:foreground ,var))))
197 | `(js3-function-param-face ((,class (:foreground ,key3))))
198 | `(js3-jsdoc-tag-face ((,class (:foreground ,keyword))))
199 | `(js3-instance-member-face ((,class (:foreground ,const))))
200 |
201 | `(ac-completion-face ((,class (:underline t :foreground ,keyword))))
202 | `(info-quoted-name ((,class (:foreground ,builtin))))
203 | `(info-string ((,class (:foreground ,str))))
204 | `(icompletep-determined ((,class :foreground ,builtin)))
205 |
206 | `(slime-repl-inputed-output-face ((,class (:foreground ,type))))
207 | `(trailing-whitespace ((,class :foreground nil :background ,warning)))
208 |
209 | `(undo-tree-visualizer-current-face ((,class :foreground ,builtin)))
210 | `(undo-tree-visualizer-default-face ((,class :foreground ,fg2)))
211 | `(undo-tree-visualizer-unmodified-face ((,class :foreground ,var)))
212 | `(undo-tree-visualizer-register-face ((,class :foreground ,type)))
213 |
214 | `(rainbow-delimiters-depth-1-face ((,class :foreground "gold")))
215 | `(rainbow-delimiters-depth-2-face ((,class :foreground "orchid")))
216 | `(rainbow-delimiters-depth-3-face ((,class :foreground "LightSkyBlue")))
217 | `(rainbow-delimiters-depth-4-face ((,class :foreground "gold")))
218 | `(rainbow-delimiters-depth-5-face ((,class :foreground "orchid")))
219 | `(rainbow-delimiters-depth-6-face ((,class :foreground "LightSkyBlue")))
220 | `(rainbow-delimiters-depth-7-face ((,class :foreground "gold")))
221 | `(rainbow-delimiters-depth-8-face ((,class :foreground "orchid")))
222 | `(rainbow-delimiters-depth-9-face ((,class :foreground "LightSkyBlue")))
223 | `(rainbow-delimiters-unmatched-face ((,class :foreground ,warning)))
224 |
225 | ;;;;; New magit faces (adpated from sanityinc-tomorrow themes)
226 | `(magit-item-highlight ((,class :background ,bg3)))
227 | `(magit-hunk-heading ((,class (:background ,bg3))))
228 | `(magit-hunk-heading-highlight ((,class (:background ,bg3))))
229 | `(magit-bisect-bad ((t (:foreground ,jb-red))))
230 | `(magit-bisect-good ((t (:foreground ,jb-green))))
231 | `(magit-bisect-skip ((t (:foreground ,jb-orange))))
232 | `(magit-blame-date ((t (:foreground ,jb-red))))
233 | `(magit-blame-heading ((t (:foreground ,jb-orange :background ,bg3 :extend t))))
234 | `(magit-branch ((,class (:foreground ,jb-blue :weight normal))))
235 | `(magit-branch-current ((t (:foreground ,jb-blue))))
236 | `(magit-branch-local ((t (:foreground ,jb-bluegreen))))
237 | `(magit-branch-remote ((t (:foreground ,jb-green))))
238 | `(magit-cherry-equivalent ((t (:foreground ,jb-magenta))))
239 | `(magit-cherry-unmatched ((t (:foreground ,jb-bluegreen))))
240 | `(magit-diff-context-highlight ((,class (:background ,bg3 :foreground ,fg3))))
241 | `(magit-diffstat-added ((t (:foreground ,jb-green))))
242 | `(magit-diffstat-removed ((t (:foreground ,jb-orange))))
243 | `(magit-dimmed ((t (:foreground ,comment))))
244 | `(magit-filename ((t (:foreground ,jb-magenta))))
245 | `(magit-hash ((t (:foreground ,comment))))
246 | `(magit-header-line ((t (:inherit nil))))
247 | `(magit-log-author ((t (:foreground ,jb-orange))))
248 | `(magit-log-date ((t (:foreground ,jb-blue))))
249 | `(magit-log-graph ((t (:foreground ,comment))))
250 | `(magit-mode-line-process ((t (:foreground ,jb-orange))))
251 | `(magit-mode-line-process-error ((t (:foreground ,jb-red))))
252 | `(magit-process-ok ((t (:inherit success))))
253 | `(magit-process-ng ((t (:inherit error))))
254 | `(magit-reflog-amend ((t (:foreground ,jb-magenta))))
255 | `(magit-reflog-checkout ((t (:foreground ,jb-blue))))
256 | `(magit-reflog-cherry-pick ((t (:foreground ,jb-green))))
257 | `(magit-reflog-commit ((t (:foreground ,jb-green))))
258 | `(magit-reflog-merge ((t (:foreground ,jb-green))))
259 | `(magit-reflog-other ((t (:foreground ,jb-bluegreen))))
260 | `(magit-reflog-rebase ((t (:foreground ,jb-magenta))))
261 | `(magit-reflog-remote ((t (:foreground ,jb-bluegreen))))
262 | `(magit-reflog-reset ((t (:inherit error))))
263 | `(magit-refname ((t (:foreground ,comment))))
264 | `(magit-section-heading ((t (:foreground ,jb-magenta))))
265 | `(magit-section-heading-selection ((t (:foreground ,jb-orange :extend t))))
266 | `(magit-section-highlight ((t (:background ,bg3 :extend t))))
267 | `(magit-sequence-drop ((t (:foreground ,jb-red))))
268 | `(magit-sequence-head ((t (:foreground ,jb-blue))))
269 | `(magit-sequence-part ((t (:foreground ,jb-orange))))
270 | `(magit-sequence-stop ((t (:foreground ,jb-green))))
271 | `(magit-signature-bad ((t (:inherit error))))
272 | `(magit-signature-error ((t (:inherit error))))
273 | `(magit-signature-expijb-red ((t (:foreground ,jb-orange))))
274 | `(magit-signature-good ((t (:inherit success))))
275 | `(magit-signature-revoked ((t (:foreground ,jb-magenta))))
276 | `(magit-signature-untrusted ((t (:foreground ,jb-bluegreen))))
277 | `(magit-tag ((t (:foreground ,jb-yellow))))
278 |
279 | `(term ((,class (:foreground ,fg1 :background ,bg1))))
280 | `(term-color-black ((,class (:foreground ,fg1 :background ,bg3))))
281 | `(term-color-blue ((,class (:foreground ,jb-blue :background ,func))))
282 | `(term-color-red ((,class (:foreground ,jb-red :background ,bg3))))
283 | `(term-color-green ((,class (:foreground ,jb-green :background ,bg3))))
284 | `(term-color-yellow ((,class (:foreground ,jb-yellow :background ,var))))
285 | `(term-color-magenta ((,class (:foreground ,jb-orange :background ,builtin))))
286 | `(term-color-cyan ((,class (:foreground ,jb-bluegreen :background ,str))))
287 | `(term-color-white ((,class (:foreground ,fg2 :background ,fg2))))
288 |
289 | `(helm-header ((,class (:foreground ,fg2 :background ,bg1 :underline nil :box nil))))
290 | `(helm-source-header ((,class (:foreground ,keyword :background ,bg1 :underline nil :weight normal))))
291 | `(helm-selection ((,class (:background ,bg2 :underline nil))))
292 | `(helm-selection-line ((,class (:background ,bg2))))
293 | `(helm-visible-mark ((,class (:foreground ,bg1 :background ,bg3))))
294 | `(helm-candidate-number ((,class (:foreground ,bg1 :background ,fg1))))
295 | `(helm-separator ((,class (:foreground ,type :background ,bg1))))
296 | `(helm-time-zone-current ((,class (:foreground ,builtin :background ,bg1))))
297 | `(helm-time-zone-home ((,class (:foreground ,type :background ,bg1))))
298 | `(helm-buffer-not-saved ((,class (:foreground ,type :background ,bg1))))
299 | `(helm-buffer-process ((,class (:foreground ,builtin :background ,bg1))))
300 | `(helm-buffer-saved-out ((,class (:foreground ,fg1 :background ,bg1))))
301 | `(helm-buffer-size ((,class (:foreground ,fg1 :background ,bg1))))
302 | `(helm-ff-directory ((,class (:foreground ,func :background ,bg1 :weight normal))))
303 | `(helm-ff-file ((,class (:foreground ,fg1 :background ,bg1 :weight normal))))
304 | `(helm-ff-executable ((,class (:foreground ,key2 :background ,bg1 :weight normal))))
305 | `(helm-ff-invalid-symlink ((,class (:foreground ,key3 :background ,bg1 :weight normal))))
306 | `(helm-ff-symlink ((,class (:foreground ,keyword :background ,bg1 :weight normal))))
307 | `(helm-ff-prefix ((,class (:foreground ,bg1 :background ,keyword :weight normal))))
308 | `(helm-grep-cmd-line ((,class (:foreground ,fg1 :background ,bg1))))
309 | `(helm-grep-file ((,class (:foreground ,fg1 :background ,bg1))))
310 | `(helm-grep-finish ((,class (:foreground ,fg2 :background ,bg1))))
311 | `(helm-grep-lineno ((,class (:foreground ,fg1 :background ,bg1))))
312 | `(helm-grep-match ((,class (:foreground nil :background nil :inherit helm-match))))
313 | `(helm-grep-running ((,class (:foreground ,func :background ,bg1))))
314 | `(helm-moccur-buffer ((,class (:foreground ,func :background ,bg1))))
315 | `(helm-source-go-package-godoc-description ((,class (:foreground ,str))))
316 | `(helm-bookmark-w3m ((,class (:foreground ,type))))
317 |
318 | `(web-mode-html-tag-bracket-face ((,class (:foreground ,jb-yellow))))
319 | `(web-mode-html-tag-face ((,class (:foreground ,jb-yellow))))
320 | `(web-mode-html-attr-name-face ((,class (:foreground ,var))))
321 | `(web-mode-html-attr-value-face ((,class (:foreground ,str))))
322 | `(web-mode-builtin-face ((,class (:inherit ,font-lock-builtin-face))))
323 | `(web-mode-comment-face ((,class (:inherit ,font-lock-comment-face))))
324 | `(web-mode-constant-face ((,class (:inherit ,font-lock-constant-face))))
325 | `(web-mode-keyword-face ((,class (:inherit ,font-lock-keyword-face))))
326 | `(web-mode-doctype-face ((,class (:inherit ,font-lock-doc-face))))
327 | `(web-mode-function-name-face ((,class (:inherit ,font-lock-function-name-face))))
328 | `(web-mode-string-face ((,class (:inherit ,font-lock-string-face))))
329 | `(web-mode-type-face ((,class (:inherit ,font-lock-type-face))))
330 | `(web-mode-warning-face ((,class (:inherit ,font-lock-warning-face))))
331 |
332 | `(ediff-fine-diff-Ancestor ((t (:background "#885555"))))
333 | `(ediff-fine-diff-A ((t (:background "#885555"))))
334 | `(ediff-fine-diff-B ((t (:background "#558855"))))
335 | `(ediff-fine-diff-C ((t (:background "#555588"))))
336 | `(ediff-current-diff-Ancestor ((t (:background "#663333"))))
337 | `(ediff-current-diff-A ((t (:background "#663333"))))
338 | `(ediff-current-diff-B ((t (:background "#336633"))))
339 | `(ediff-current-diff-C ((t (:background "#333366"))))
340 | `(ediff-even-diff-Ancestor ((t (:background ,bg3))))
341 | `(ediff-even-diff-A ((t (:background ,bg3))))
342 | `(ediff-even-diff-B ((t (:background ,bg3))))
343 | `(ediff-even-diff-C ((t (:background ,bg3))))
344 | `(ediff-odd-diff-Ancestor ((t (:background ,bg3))))
345 | `(ediff-odd-diff-A ((t (:background ,bg3))))
346 | `(ediff-odd-diff-B ((t (:background ,bg3))))
347 | `(ediff-odd-diff-C ((t (:background ,bg3))))
348 |
349 | `(jde-java-font-lock-package-face ((t (:foreground ,var))))
350 | `(jde-java-font-lock-public-face ((t (:foreground ,keyword))))
351 | `(jde-java-font-lock-private-face ((t (:foreground ,keyword))))
352 | `(jde-java-font-lock-constant-face ((t (:foreground ,const))))
353 | `(jde-java-font-lock-modifier-face ((t (:foreground ,key3))))
354 | `(jde-jave-font-lock-protected-face ((t (:foreground ,keyword))))
355 | `(jde-java-font-lock-number-face ((t (:foreground ,var))))
356 |
357 | `(centaur-tabs-default ((t (:background ,bg1 :foreground ,fg1))))
358 | `(centaur-tabs-selected ((t (:background ,bg1 :foreground ,fg3 :box nil))))
359 | `(centaur-tabs-unselected ((t (:background ,bg2 :foreground ,fg0 :box nil))))
360 | `(centaur-tabs-selected-modified ((t (:background ,bg2 :foreground ,accent :box nil))))
361 | `(centaur-tabs-unselected-modified ((t (:background ,bg2 :foreground ,fg4 :box nil))))
362 | `(centaur-tabs-active-bar-face ((t (:background ,accent :box nil))))
363 | `(centaur-tabs-modified-marker-selected ((t (:inherit 'centaur-tabs-selected-modified :foreground ,accent :box nil))))
364 | `(centaur-tabs-modified-marker-unselected ((t (:inherit 'centaur-tabs-unselected-modified :foreground ,accent :box nil))))
365 |
366 | `(solaire-default-face ((t (:inherit default :background ,bg2))))
367 | `(solaire-minibuffer-face ((t (:inherit default :background ,bg2))))
368 | `(solaire-hl-line-face ((t (:inherit hl-line :background ,bg3))))
369 | `(solaire-org-hide-face ((t (:inherit org-hide :background ,bg2))))
370 |
371 | `(ivy-confirm-face ((t (:inherit minibuffer-prompt :foreground ,keyword))))
372 | `(ivy-current-match ((t (:background ,bg-hl :extend t))))
373 | `(ivy-highlight-face ((t (:inherit font-lock-builtin-face))))
374 | `(ivy-match-required-face ((t (:inherit minibuffer-prompt :foreground ,warning))))
375 | `(ivy-minibuffer-match-face-1 ((t (:inherit isearch))))
376 | `(ivy-minibuffer-match-face-2 ((t (:inherit ivy-minibuffer-match-face-1))))
377 | `(ivy-minibuffer-match-face-3 ((t (:inherit ivy-minibuffer-match-face-2))))
378 | `(ivy-minibuffer-match-face-4 ((t (:inherit ivy-minibuffer-match-face-2))))
379 | `(ivy-minibuffer-match-highlight ((t (:inherit ivy-current-match))))
380 | `(ivy-modified-buffer ((t (:inherit default :foreground ,var))))
381 | `(ivy-virtual ((t (:inherit default :foreground ,doc))))
382 | `(ivy-posframe ((t (:background "#252526"))))
383 |
384 | `(counsel-key-binding ((t (:foreground ,var))))
385 |
386 | `(swiper-match-face-1 ((t (:inherit ivy-minibuffer-match-face-1))))
387 | `(swiper-match-face-2 ((t (:inherit ivy-minibuffer-match-face-2))))
388 | `(swiper-match-face-3 ((t (:inherit ivy-minibuffer-match-face-3))))
389 | `(swiper-match-face-4 ((t (:inherit ivy-minibuffer-match-face-4))))
390 | `(swiper-line-face ((t (:foreground ,fg0 :background ,bg4 :extend t))))
391 |
392 | `(git-gutter:added ((t (:background ,jb-g :foreground ,jb-g :weight normal))))
393 | `(git-gutter:deleted ((t (:background ,jb-r :foreground ,jb-r :weight normal))))
394 | `(git-gutter:modified ((t (:background ,jb-y :foreground ,jb-y :weight normal))))
395 | `(git-gutter-fr:added ((t (:background ,jb-g :foreground ,jb-g :weight normal))))
396 | `(git-gutter-fr:deleted ((t (:background ,jb-r :foreground ,jb-r :weight normal))))
397 | `(git-gutter-fr:modified ((t (:background ,jb-y :foreground ,jb-y :weight normal))))
398 |
399 | `(diff-hl-insert ((t (:background ,jb-g :foreground ,jb-g))))
400 | `(diff-hl-delete ((t (:background ,jb-r :foreground ,jb-r))))
401 | `(diff-hl-change ((t (:background ,jb-y :foreground ,jb-y))))
402 |
403 | `(neo-dir-link-face ((t (:foreground "#cccccc" :family "Sans Serif"))))
404 | `(neo-header-face ((t (:foreground "#cccccc" :family "Sans Serif"))))
405 | `(neo-banner-face ((t (:foreground "#cccccc" :family "Sans Serif"))))
406 | `(neo-root-dir-face ((t (:foreground "#cccccc" :family "Sans Serif"))))
407 | `(neo-file-link-face ((t (:foreground "#aaaaaa" :family "Sans Serif"))))
408 | `(neo-expand-btn-face ((t (:foreground "#aaaaaa"))))
409 |
410 | `(sml/global ((t (:foreground ,fg1 :weight normal))))
411 | `(sml/filename ((t (:foreground ,fg1 :weight normal))))
412 | `(sml/prefix ((t (:foreground ,fg1 :weight normal))))
413 | `(sml/read-only ((t (:foreground ,fg1 :weight normal))))
414 | `(sml/modes ((t (:foreground ,fg1 :weight normal))))
415 | `(sml/modified ((t (:foreground ,fg3 :weight normal))))
416 |
417 | ;; tab-bar-mode
418 | `(tab-bar ((t (:background ,bg3))))
419 | `(tab-bar-tab ((t (:foreground ,fg2 :background ,bg5 :box (:color ,bg4)))))
420 | `(tab-bar-tab-inactive ((t (:foreground ,fg1 :background ,bg2 :box (:color ,bg4)))))
421 |
422 | `(evil-ex-substitute-matches ((t (:foreground ,warning :weight normal :strike-through t))))
423 | `(evil-ex-substitute-replacement ((t (:foreground ,jb-bluegreen :weight normal))))
424 |
425 | `(hl-todo ((t (:inverse-video t))))
426 | `(highlight-numbers-number ((t (:foreground ,jb-blue))))
427 | `(highlight-operators-face ((t (:inherit default))))
428 | `(highlight-symbol-face ((t (:background "#354a32"))))))
429 |
430 | ;;;###autoload
431 | (when (and (boundp 'custom-theme-load-path) load-file-name)
432 | (add-to-list 'custom-theme-load-path
433 | (file-name-as-directory (file-name-directory load-file-name))))
434 |
435 | (provide-theme 'jetbrains-darcula)
436 | (provide 'jetbrains-darcula-theme)
437 |
438 | ;;; jetbrains-darcula-theme.el ends here
439 |
--------------------------------------------------------------------------------