solarized-emacs

a fork of Bozhidar Batsov's solarized-emacs
git clone https://git.trogloxene.org/solarized-emacs.git
Log | Files | Refs | README

commit f782c9641a7f246fa426b9d0f8c4b8f1418a1237
parent 8d99d64ff6fb3526a9ddb4b737a92e4ff20cc29c
Author: andsy10 <andsy1016@gmail.com>
Date:   Wed, 26 Aug 2026 15:02:59 +0800

Merge remote-tracking branch 'origin/master'

Diffstat:
ACHANGELOG.md | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MREADME.md | 34+++++++++++++++++++++++++++++++++-
Ascreenshots/solarized-dark-high-contrast.png | 0
Ascreenshots/solarized-dark.png | 0
Ascreenshots/solarized-gruvbox-dark.png | 0
Ascreenshots/solarized-gruvbox-light.png | 0
Ascreenshots/solarized-light-high-contrast.png | 0
Ascreenshots/solarized-light.png | 0
Ascreenshots/solarized-selenized-black.png | 0
Ascreenshots/solarized-selenized-dark.png | 0
Ascreenshots/solarized-selenized-light.png | 0
Ascreenshots/solarized-selenized-white.png | 0
Ascreenshots/solarized-wombat-dark.png | 0
Ascreenshots/solarized-zenburn.png | 0
Msolarized-faces.el | 216+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
Msolarized-theme.el | 2+-
Msolarized.el | 14+++++++++-----
17 files changed, 314 insertions(+), 10 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -0,0 +1,58 @@ +# Changelog + +## 2.2.0 (2026-07-28) + +- [#462](https://github.com/bbatsov/solarized-emacs/pull/462): Expand face coverage to jinx, completion-preview, copilot, keycast, dictionary, mistty, easy-kill, vundo, asciidoc-mode, clojure-mode, haskell-mode, erlang, inf-ruby, gptel and breadcrumb, complete the anzu and git-timemachine faces, and deepen the cider coverage (REPL, stacktrace and nREPL log). + +## 2.1.0 (2026-03-29) + +### New features + +- Add the `solarized-select-theme` command for picking a variant interactively via `completing-read`. +- Track the current theme through `enable-theme-functions` hooks (Emacs 29+), so `solarized-reload` reuses it automatically. + +### New face definitions + +- Full vertico coverage (current, group-title, group-separator, multiline). +- Comprehensive marginalia coverage (35 faces for annotations, file permissions, types and more). +- Full embark coverage (keybindings, targets, collect buffers, verbose indicator). +- Expand consult from 2 to 16 faces (files, bookmarks, async status, line numbers and so on). +- Expand corfu from 4 to 11 faces (annotations, deprecated, echo, popupinfo, quick keys, indexed). +- Full eglot coverage (highlighted symbol, diagnostics, mode-line, inlay hints). +- Expand which-key from 3 to 9 faces (separator, note, special-key, docstring and others). + +### Bug fixes + +- Fix the selenized-zenburn theme docstring, which incorrectly said "gruvbox". +- Fix a duplicate "The the" in the wombat-dark docstring. + +## 2.0.5 (2025-02-22) + +- [#452](https://github.com/bbatsov/solarized-emacs/pull/452): Add support for the built-in `tab-line` and `window-tool-bar` packages. +- [#453](https://github.com/bbatsov/solarized-emacs/pull/453): Match the flymake `error`, `warning` and `note` faces to their flycheck counterparts. +- [#451](https://github.com/bbatsov/solarized-emacs/pull/451): Highlight `font-lock-number-face` like `highlight-numbers-number`. + +## 2.0.4 (2023-12-04) + +- [#445](https://github.com/bbatsov/solarized-emacs/pull/445): Remove the `all-the-icons-dired-dir-face` definition. +- [#448](https://github.com/bbatsov/solarized-emacs/pull/448): Fix invalid `:style unspecified` box properties. + +## 2.0.3 (2023-08-20) + +- [#442](https://github.com/bbatsov/solarized-emacs/pull/442): Add a `corfu` face. + +## 2.0.2 (2023-08-05) + +- [#441](https://github.com/bbatsov/solarized-emacs/pull/441): Fix a byte-compiler warning. + +## 2.0.1 (2023-05-07) + +- [#433](https://github.com/bbatsov/solarized-emacs/pull/433): Add `ansi-color-*` faces (Emacs 28.1). +- [#435](https://github.com/bbatsov/solarized-emacs/pull/435): Use extra-light instead of thin for line numbers. +- [#439](https://github.com/bbatsov/solarized-emacs/pull/439): Update the terraform faces for the renamed faces in terraform-mode. + +## 2.0.0 (2022-06-18) + +- Major release with breaking API changes. The theme itself upgrades without issues; if you maintain a child theme, see the [upgrade guide](https://github.com/bbatsov/solarized-emacs/blob/master/UPGRADE-GUIDE.md). + +Older releases are documented in the [GitHub releases](https://github.com/bbatsov/solarized-emacs/releases). diff --git a/README.md b/README.md @@ -7,7 +7,16 @@ Solarized for Emacs is an Emacs 24bit theme making use of the [Solarized palette](http://ethanschoonover.com/solarized), developed by Ethan Schoonover. -You can find several screenshots of Solarized for Emacs +Here are the two canonical variants: + +<table> + <tr> + <td align="center"><code>solarized-dark</code><br><img src="screenshots/solarized-dark.png" alt="solarized-dark" width="440"></td> + <td align="center"><code>solarized-light</code><br><img src="screenshots/solarized-light.png" alt="solarized-light" width="440"></td> + </tr> +</table> + +You can find some more screenshots of Solarized for Emacs [here](https://emacsthemes.com/themes/solarized-themes.html). Solarized for Emacs supports officially Emacs 24+. The theme is implemented @@ -52,6 +61,29 @@ following theme variants: - `solarized-zenburn` - `solarized-wombat-dark` +<table> + <tr> + <td align="center"><code>solarized-dark-high-contrast</code><br><img src="screenshots/solarized-dark-high-contrast.png" alt="solarized-dark-high-contrast" width="380"></td> + <td align="center"><code>solarized-light-high-contrast</code><br><img src="screenshots/solarized-light-high-contrast.png" alt="solarized-light-high-contrast" width="380"></td> + </tr> + <tr> + <td align="center"><code>solarized-gruvbox-dark</code><br><img src="screenshots/solarized-gruvbox-dark.png" alt="solarized-gruvbox-dark" width="380"></td> + <td align="center"><code>solarized-gruvbox-light</code><br><img src="screenshots/solarized-gruvbox-light.png" alt="solarized-gruvbox-light" width="380"></td> + </tr> + <tr> + <td align="center"><code>solarized-selenized-dark</code><br><img src="screenshots/solarized-selenized-dark.png" alt="solarized-selenized-dark" width="380"></td> + <td align="center"><code>solarized-selenized-light</code><br><img src="screenshots/solarized-selenized-light.png" alt="solarized-selenized-light" width="380"></td> + </tr> + <tr> + <td align="center"><code>solarized-selenized-black</code><br><img src="screenshots/solarized-selenized-black.png" alt="solarized-selenized-black" width="380"></td> + <td align="center"><code>solarized-selenized-white</code><br><img src="screenshots/solarized-selenized-white.png" alt="solarized-selenized-white" width="380"></td> + </tr> + <tr> + <td align="center"><code>solarized-zenburn</code><br><img src="screenshots/solarized-zenburn.png" alt="solarized-zenburn" width="380"></td> + <td align="center"><code>solarized-wombat-dark</code><br><img src="screenshots/solarized-wombat-dark.png" alt="solarized-wombat-dark" width="380"></td> + </tr> +</table> + The intent of this theme will always be that Solarized-dark/light will give you the best possible experience. Palettes other than Solarized will never have influence over theming decisions, they are complementary. diff --git a/screenshots/solarized-dark-high-contrast.png b/screenshots/solarized-dark-high-contrast.png Binary files differ. diff --git a/screenshots/solarized-dark.png b/screenshots/solarized-dark.png Binary files differ. diff --git a/screenshots/solarized-gruvbox-dark.png b/screenshots/solarized-gruvbox-dark.png Binary files differ. diff --git a/screenshots/solarized-gruvbox-light.png b/screenshots/solarized-gruvbox-light.png Binary files differ. diff --git a/screenshots/solarized-light-high-contrast.png b/screenshots/solarized-light-high-contrast.png Binary files differ. diff --git a/screenshots/solarized-light.png b/screenshots/solarized-light.png Binary files differ. diff --git a/screenshots/solarized-selenized-black.png b/screenshots/solarized-selenized-black.png Binary files differ. diff --git a/screenshots/solarized-selenized-dark.png b/screenshots/solarized-selenized-dark.png Binary files differ. diff --git a/screenshots/solarized-selenized-light.png b/screenshots/solarized-selenized-light.png Binary files differ. diff --git a/screenshots/solarized-selenized-white.png b/screenshots/solarized-selenized-white.png Binary files differ. diff --git a/screenshots/solarized-wombat-dark.png b/screenshots/solarized-wombat-dark.png Binary files differ. diff --git a/screenshots/solarized-zenburn.png b/screenshots/solarized-zenburn.png Binary files differ. diff --git a/solarized-faces.el b/solarized-faces.el @@ -169,6 +169,32 @@ :foreground ,base1 :underline ,s-line :weight bold)))) +;;;;; diredfl + `(diredfl-autofile-name ((,class (:background ,base02)))) + `(diredfl-compressed-file-name ((,class (:foreground ,violet)))) + `(diredfl-compressed-file-suffix ((,class (:foreground ,violet)))) + `(diredfl-date-time ((,class (:foreground ,base01)))) + `(diredfl-deletion ((,class (:foreground ,red :weight bold)))) + `(diredfl-deletion-file-name ((,class (:foreground ,red)))) + `(diredfl-dir-heading ((,class (:foreground ,base03 :background ,blue :weight bold)))) + `(diredfl-dir-name ((,class (:foreground ,blue)))) + `(diredfl-dir-priv ((,class (:foreground ,blue)))) + `(diredfl-exec-priv ((,class (:foreground ,green)))) + `(diredfl-executable-tag ((,class (:foreground ,green)))) + `(diredfl-file-name ((,class (:foreground ,base0)))) + `(diredfl-file-suffix ((,class (:foreground ,base01)))) + `(diredfl-flag-mark ((,class (:foreground ,yellow :weight bold)))) + `(diredfl-flag-mark-line ((,class (:background ,base02)))) + `(diredfl-ignored-file-name ((,class (:foreground ,base01)))) + `(diredfl-link-priv ((,class (:foreground ,cyan)))) + `(diredfl-no-priv ((,class (:foreground ,base01)))) + `(diredfl-number ((,class (:foreground ,cyan)))) + `(diredfl-other-priv ((,class (:foreground ,violet)))) + `(diredfl-rare-priv ((,class (:foreground ,orange)))) + `(diredfl-read-priv ((,class (:foreground ,green)))) + `(diredfl-symlink ((,class (:foreground ,cyan :slant italic)))) + `(diredfl-tagged-autofile-name ((,class (:background ,base02)))) + `(diredfl-write-priv ((,class (:foreground ,yellow)))) ;;;;; display-fill-column-indicator `(fill-column-indicator ((,class :foreground ,base02 :weight semilight))) ;;;;; dropdown @@ -302,6 +328,54 @@ `(android-mode-warning-face ((,class (:foreground ,yellow)))) ;;;;; anzu-mode `(anzu-mode-line ((,class (:foreground ,yellow :weight bold)))) + `(anzu-mode-line-no-match ((,class (:foreground ,red :weight bold)))) + `(anzu-match-1 ((,class (:foreground ,base03 :background ,green)))) + `(anzu-match-2 ((,class (:foreground ,base03 :background ,orange)))) + `(anzu-match-3 ((,class (:foreground ,base03 :background ,blue)))) + `(anzu-replace-highlight ((,class (:foreground ,base03 :background ,red)))) + `(anzu-replace-to ((,class (:foreground ,base03 :background ,green :weight bold)))) +;;;;; asciidoc-mode + `(asciidoc-document-title-face ((,class (:foreground ,blue :weight bold + ,@(when solarized-scale-markdown-headlines + (list :height solarized-height-plus-4)))))) + `(asciidoc-title-1-face ((,class (:foreground ,blue :weight bold + ,@(when solarized-scale-markdown-headlines + (list :height solarized-height-plus-3)))))) + `(asciidoc-title-2-face ((,class (:foreground ,blue :weight bold + ,@(when solarized-scale-markdown-headlines + (list :height solarized-height-plus-2)))))) + `(asciidoc-title-3-face ((,class (:foreground ,blue :weight bold + ,@(when solarized-scale-markdown-headlines + (list :height solarized-height-plus-1)))))) + `(asciidoc-title-4-face ((,class (:foreground ,blue :weight bold)))) + `(asciidoc-title-5-face ((,class (:foreground ,blue :weight bold)))) + `(asciidoc-markup-face ((,class (:foreground ,base01)))) + `(asciidoc-code-face ((,class (:inherit fixed-pitch :foreground ,base01)))) + `(asciidoc-link-face ((,class (:foreground ,yellow)))) + `(asciidoc-link-mouse-face ((,class (:background ,base02)))) + `(asciidoc-url-face ((,class (:foreground ,base01)))) + `(asciidoc-cross-reference-face ((,class (:foreground ,yellow :underline t)))) + `(asciidoc-anchor-face ((,class (:foreground ,cyan)))) + `(asciidoc-superscript-face ((,class (:height 0.8)))) + `(asciidoc-subscript-face ((,class (:height 0.8)))) + `(asciidoc-metadata-key-face ((,class (:inherit font-lock-comment-face)))) + `(asciidoc-metadata-value-face ((,class (:inherit default)))) + `(asciidoc-footnote-marker-face ((,class (:foreground ,base01)))) + `(asciidoc-footnote-text-face ((,class (:inherit default)))) + `(asciidoc-highlight-face ((,class (:foreground ,base03 :background ,yellow)))) + `(asciidoc-strike-through-face ((,class (:strike-through t)))) + `(asciidoc-underline-face ((,class (:underline t)))) + `(asciidoc-overline-face ((,class (:overline t)))) + `(asciidoc-admonition-note-label-face ((,class (:foreground ,blue :weight bold)))) + `(asciidoc-admonition-note-face ((,class (:background ,s-diff-C-bg :extend t)))) + `(asciidoc-admonition-tip-label-face ((,class (:foreground ,green :weight bold)))) + `(asciidoc-admonition-tip-face ((,class (:background ,s-diff-B-bg :extend t)))) + `(asciidoc-admonition-important-label-face ((,class (:foreground ,violet :weight bold)))) + `(asciidoc-admonition-important-face ((,class (:background ,base02 :extend t)))) + `(asciidoc-admonition-caution-label-face ((,class (:foreground ,yellow :weight bold)))) + `(asciidoc-admonition-caution-face ((,class (:background ,base02 :extend t)))) + `(asciidoc-admonition-warning-label-face ((,class (:foreground ,red :weight bold)))) + `(asciidoc-admonition-warning-face ((,class (:background ,s-diff-A-bg :extend t)))) ;;;;; auctex `(font-latex-bold-face ((,class (:inherit bold :foreground ,base1)))) `(font-latex-doctex-documentation-face ((,class (:background unspecified)))) @@ -367,6 +441,14 @@ `(bm-fringe-face ((,class (:overline ,base0)))) `(bm-fringe-persistent-face ((,class (:overline ,base0)))) `(bm-persistent-face ((,class (:overline ,base0)))) +;;;;; breadcrumb + `(breadcrumb-face ((,class (:foreground ,base01)))) + `(breadcrumb-imenu-leaf-face ((,class (:foreground ,blue :weight bold)))) + `(breadcrumb-imenu-crumbs-face ((,class (:foreground ,base01)))) + `(breadcrumb-imenu-base-face ((,class (:foreground ,base01 :weight bold)))) + `(breadcrumb-project-leaf-face ((,class (:foreground ,base1 :weight bold)))) + `(breadcrumb-project-crumbs-face ((,class (:foreground ,base01)))) + `(breadcrumb-project-base-face ((,class (:foreground ,base01 :weight bold)))) ;;;;; calfw `(cfw:face-day-title ((,class (:background ,base02)))) `(cfw:face-annotation ((,class (:inherit cfw:face-day-title :foreground ,yellow)))) @@ -399,12 +481,42 @@ `(cider-instrumented-face ((t (:box (:color ,red-l :line-width -1))))) `(cider-traced-face ((t (:box (:color ,cyan :line-width -1))))) `(cider-fringe-good-face ((t (:foreground ,green-l)))) + `(cider-fringe-bad-face ((t (:foreground ,red)))) + `(cider-fringe-stale-face ((t (:foreground ,yellow)))) + `(cider-reader-conditional-face ((t (:foreground ,base01)))) + `(cider-error-highlight-face ((t (:underline (:style wave :color ,red))))) + `(cider-warning-highlight-face ((t (:underline (:style wave :color ,yellow))))) + `(cider-debug-prompt-face ((t (:foreground ,magenta :weight bold)))) + `(cider-stacktrace-error-class-face ((t (:foreground ,red :weight bold)))) + `(cider-stacktrace-error-message-face ((t (:foreground ,base0 :slant italic)))) + `(cider-stacktrace-face ((t (:foreground ,base0)))) + `(cider-stacktrace-fn-face ((t (:foreground ,blue)))) + `(cider-stacktrace-ns-face ((t (:foreground ,base01)))) + `(cider-stacktrace-filter-active-face ((t (:foreground ,cyan :underline t)))) + `(cider-stacktrace-filter-inactive-face ((t (:foreground ,base01)))) + `(nrepl-message-1-face ((t (:foreground ,blue)))) + `(nrepl-message-2-face ((t (:foreground ,violet)))) + `(nrepl-message-3-face ((t (:foreground ,cyan)))) + `(nrepl-message-4-face ((t (:foreground ,orange)))) + `(nrepl-message-5-face ((t (:foreground ,green)))) + `(nrepl-message-6-face ((t (:foreground ,yellow)))) + `(nrepl-message-7-face ((t (:foreground ,red)))) + `(nrepl-message-8-face ((t (:foreground ,magenta)))) ;;;;; cider-repl-mode `(cider-repl-err-output-face ((t (:inherit ,font-lock-warning-face :underline nil)))) + `(cider-repl-prompt-face ((t (:foreground ,blue :weight bold)))) + `(cider-repl-input-face ((t (:weight bold)))) + `(cider-repl-result-face ((t (:foreground ,green)))) + `(cider-repl-stdout-face ((t (:foreground ,base0)))) + `(cider-repl-stderr-face ((t (:foreground ,red)))) ;;;;; cider-test-mode `(cider-test-failure-face ((t (:foreground ,orange :weight bold :underline t)))) `(cider-test-error-face ((t (:foreground ,red :weight bold :underline t)))) `(cider-test-success-face ((t (:foreground ,green :weight bold :underline t)))) +;;;;; clojure-mode + `(clojure-keyword-face ((,class (:foreground ,cyan)))) + `(clojure-character-face ((,class (:inherit font-lock-string-face)))) + `(clojure-discard-face ((,class (:inherit font-lock-comment-face)))) ;;;;; coffee `(coffee-mode-class-name ((,class (:foreground ,yellow :weight bold)))) `(coffee-mode-function-param ((,class (:foreground ,violet :slant italic)))) @@ -433,6 +545,12 @@ `(company-tooltip-search ((,class (:foreground ,magenta)))) `(company-tooltip-search-selection ((,class (:foreground ,magenta :weight bold)))) `(company-tooltip-selection ((,class (:weight bold)))) +;;;;; completion-preview + `(completion-preview ((,class (:foreground ,base01)))) + `(completion-preview-common ((,class (:foreground ,base00)))) + `(completion-preview-exact ((,class (:foreground ,base00 :underline t)))) +;;;;; copilot + `(copilot-overlay-face ((,class (:foreground ,base01 :slant italic)))) ;;;;; corfu `(corfu-default ((,class (:foreground ,base1 :background ,base02)))) `(corfu-current ((,class (:inherit corfu-default :weight bold :inverse-video t)))) @@ -503,6 +621,11 @@ `(deadgrep-meta-face ((,class (:inherit font-lock-comment-face)))) `(deadgrep-regexp-metachar-face ((,class (:inherit font-lock-constant-face)))) `(deadgrep-search-term-face ((,class (:inherit font-lock-variable-name-face)))) +;;;;; dictionary + `(dictionary-word-entry-face ((,class (:foreground ,blue :weight bold)))) + `(dictionary-word-definition-face ((,class (:inherit default)))) + `(dictionary-reference-face ((,class (:inherit link)))) + `(dictionary-button-face ((,class (:inherit link)))) ;;;;; diff `(diff-added ((,class (:background ,s-diff-B-bg :foreground ,s-diff-B-fg)))) `(diff-changed ((t nil))) @@ -579,11 +702,31 @@ `(eglot-inlay-hint-face ((,class (:foreground ,base01 :height 0.9)))) `(eglot-type-hint-face ((,class (:inherit eglot-inlay-hint-face :foreground ,cyan)))) `(eglot-parameter-hint-face ((,class (:inherit eglot-inlay-hint-face :foreground ,yellow)))) +;;;;; easy-kill + `(easy-kill-selection ((,class (:background ,base02 :extend t)))) + `(easy-kill-origin ((,class (:foreground ,base03 :background ,red)))) ;;;;; elfeed `(elfeed-search-date-face ((,class (:foreground ,base01)))) `(elfeed-search-feed-face ((,class (:foreground ,base01)))) + `(elfeed-search-filter-face ((,class (:foreground ,green)))) + `(elfeed-search-last-update-face ((,class (:foreground ,cyan)))) + `(elfeed-search-marked-face ((,class (:foreground ,magenta :weight bold)))) + `(elfeed-search-separator-face ((,class (:foreground ,base01)))) `(elfeed-search-tag-face ((,class (:foreground ,base0)))) - `(elfeed-search-title-face ((,class (:foreground ,base0)))) + `(elfeed-search-title-face ((,class (:foreground ,base01)))) + `(elfeed-search-unread-count-face ((,class (:foreground ,base01)))) + `(elfeed-search-unread-title-face ((,class (:foreground ,base1 :weight bold)))) + `(elfeed-log-date-face ((,class (:foreground ,base01)))) + `(elfeed-log-debug-level-face ((,class (:foreground ,green)))) + `(elfeed-log-info-level-face ((,class (:foreground ,blue)))) + `(elfeed-log-warn-level-face ((,class (:foreground ,yellow)))) + `(elfeed-log-error-level-face ((,class (:foreground ,red)))) + `(elfeed-show-author-face ((,class (:foreground ,green)))) + `(elfeed-show-date-face ((,class (:foreground ,base01)))) + `(elfeed-show-feed-face ((,class (:foreground ,cyan)))) + `(elfeed-show-header-face ((,class (:foreground ,base01)))) + `(elfeed-show-tags-face ((,class (:foreground ,violet)))) + `(elfeed-show-title-face ((,class (:foreground ,base1 :weight bold)))) ;;;;; elscreen `(elscreen-tab-background-face ((,class (:background ,base03)))) @@ -737,6 +880,13 @@ ;;;;; form-feed `(form-feed-line ((,class (:strike-through ,s-line)))) +;;;;; erlang + `(erlang-font-lock-exported-function-name-face ((,class (:inherit font-lock-function-name-face :weight bold)))) + `(erlang-edoc-heading ((,class (:foreground ,orange :weight bold)))) + `(erlang-edoc-tag ((,class (:foreground ,base01)))) + `(erlang-edoc-macro ((,class (:inherit font-lock-preprocessor-face)))) + `(erlang-edoc-verbatim ((,class (:foreground ,green)))) + `(erlang-edoc-todo ((,class (:inherit hl-todo)))) ;;;;; git-commit `(git-commit-comment-action ((,class (:foreground ,base0 :weight bold)))) `(git-commit-comment-branch ; obsolete @@ -789,6 +939,7 @@ ;;;;; git-timemachine `(git-timemachine-minibuffer-author-face ((,class (:foreground ,orange)))) `(git-timemachine-minibuffer-detail-face ((,class (:foreground ,yellow)))) + `(git-timemachine-commit ((,class (:foreground ,orange :weight bold)))) ;;;;; gnus `(gnus-group-mail-1 ((,class (:weight bold :inherit gnus-group-mail-1-empty)))) `(gnus-group-mail-1-empty ((,class (:inherit gnus-group-news-1-empty)))) @@ -864,10 +1015,34 @@ `(go-coverage-10 ((,class (:foreground ,cyan)))) `(go-coverage-covered ((,class (:foreground ,green)))) `(go-coverage-untracked ((,class (:foreground ,base01)))) +;;;;; gptel + `(gptel-context-highlight-face ((,class (:background ,base02 :extend t)))) + `(gptel-context-deletion-face ((,class (:background ,s-diff-A-bg :extend t)))) + `(gptel-rewrite-highlight-face ((,class (:background ,s-diff-C-bg :extend t)))) + `(gptel-response-highlight ((,class (:background ,s-diff-heading-bg :extend t)))) + `(gptel-response-fringe-highlight ((,class (:foreground ,orange)))) ;;;;; guide-key `(guide-key/highlight-command-face ((,class (:foreground ,blue)))) `(guide-key/key-face ((,class (:foreground ,base01)))) `(guide-key/prefix-command-face ((,class (:foreground ,green)))) +;;;;; haskell-mode + `(haskell-keyword-face ((,class (:inherit font-lock-keyword-face)))) + `(haskell-type-face ((,class (:inherit font-lock-type-face)))) + `(haskell-constructor-face ((,class (:inherit font-lock-type-face)))) + `(haskell-definition-face ((,class (:inherit font-lock-function-name-face)))) + `(haskell-operator-face ((,class (:inherit font-lock-variable-name-face)))) + `(haskell-pragma-face ((,class (:inherit font-lock-preprocessor-face)))) + `(haskell-quasi-quote-face ((,class (:inherit font-lock-string-face)))) + `(haskell-literate-comment-face ((,class (:inherit font-lock-comment-face)))) + `(haskell-hole-face ((,class (:foreground ,yellow :weight bold)))) + `(haskell-error-face ((,class (:underline (:style wave :color ,red))))) + `(haskell-warning-face ((,class (:underline (:style wave :color ,yellow))))) + `(haskell-interactive-face-prompt ((,class (:foreground ,blue :weight bold)))) + `(haskell-interactive-face-prompt-cont ((,class (:foreground ,cyan)))) + `(haskell-interactive-face-compile-error ((,class (:foreground ,red :weight bold)))) + `(haskell-interactive-face-compile-warning ((,class (:foreground ,yellow :weight bold)))) + `(haskell-interactive-face-result ((,class (:foreground ,green)))) + `(haskell-interactive-face-garbage ((,class (:foreground ,base01)))) ;;;;; helm ;; These probably needs tweaking. `(helm-apt-deinstalled ((,class (:foreground ,base01)))) @@ -974,6 +1149,9 @@ `(hl-line-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t)) :background ,base02)))) +;;;;; hl-todo + `(hl-todo ((,class (:foreground ,orange :weight bold)))) + `(hl-todo-flymake-type ((,class (:foreground ,orange :weight bold)))) ;;;;; hydra `(hydra-face-red ((,class (:foreground ,base1 :weight bold)))) `(hydra-face-blue ((,class (:foreground ,blue)))) @@ -994,6 +1172,8 @@ `(imenu-list-entry-face-1 ((,class (:inherit font-lock-function-name-face)))) `(imenu-list-entry-face-2 ((,class (:inherit font-lock-variable-name-face)))) `(imenu-list-entry-face-3 ((,class (:inherit font-lock-string-face)))) +;;;;; inf-ruby + `(inf-ruby-result-overlay-face ((t (:background unspecified)))) ;;;;; info `(info-title-1 ((,class (:foreground ,base1 :weight bold)))) `(info-title-2 ((,class (:foreground ,base1 :weight bold)))) @@ -1003,7 +1183,7 @@ `(info-header-node ((,class (:inherit info-node)))) `(info-header-xref ((,class (:inherit info-xref)))) `(info-index-match ((,class (:inherit match)))) - `(info-menu-header ((,class (:inherit variable-pitch :weight bold)))) + `(info-menu-header ((,class (:inherit ,s-variable-pitch :weight bold)))) `(info-menu-star ((,class (:foreground ,orange)))) `(info-xref ((,class (:inherit link)))) `(info-xref-visited ((,class (:inherit (link-visited info-xref))))) @@ -1062,6 +1242,12 @@ `(jabber-roster-user-xa ((,class (:slant italic :foreground ,magenta)))) ;;;;; jedi `(jedi:highlight-function-argument ((,class (:inherit bold)))) +;;;;; jinx + `(jinx-misspelled ((,class (:underline (:style wave :color ,red))))) + `(jinx-highlight ((,class (:inherit isearch)))) + `(jinx-save ((,class (:foreground ,orange :weight bold)))) + `(jinx-key ((,class (:foreground ,blue :weight bold)))) + `(jinx-annotation ((,class (:foreground ,base01)))) ;;;;; js2-mode `(js2-error ((,class (:foreground ,red)))) `(js2-external-variable ((,class (:foreground ,orange)))) @@ -1090,6 +1276,9 @@ `(js3-private-function-call ((,class (:foreground ,yellow)))) `(js3-private-member ((,class (:foreground ,blue)))) `(js3-warning ((,class (:underline ,orange)))) +;;;;; keycast + `(keycast-key ((,class (:foreground ,base03 :background ,blue :weight bold)))) + `(keycast-command ((,class (:weight bold)))) ;;;;; langtool `(langtool-errline ((,(append '((supports :underline (:style wave))) class) (:underline (:style wave :color ,green) :inherit unspecified)) @@ -1386,6 +1575,8 @@ `(mingus-playlist-face ((,class (:foreground ,cyan )))) `(mingus-song-file-face ((,class (:foreground ,yellow)))) `(mingus-stopped-face ((,class (:foreground ,red)))) +;;;;; mistty + `(mistty-fringe-face ((,class (:foreground ,base01)))) ;;;;; moccur `(moccur-current-line-face ((,class (:underline t)))) `(moccur-edit-done-face ((,class @@ -1521,7 +1712,7 @@ `(org-agenda-date-weekend ((,class (:inherit org-agenda-date :inverse-video nil :background unspecified :foreground ,base01 :weight unspecified - :underline t :overline nil :box unspecified)))) + :underline nil :overline nil :box unspecified)))) `(org-agenda-date-today ((,class (:inherit org-agenda-date :inverse-video t :weight bold :underline unspecified :overline nil :box unspecified @@ -1704,6 +1895,17 @@ `(rst-level-4 ((,class (:inherit org-level-4)))) `(rst-level-5 ((,class (:inherit org-level-5)))) `(rst-level-6 ((,class (:inherit org-level-6)))) +;;;;; ruler-mode + `(ruler-mode-default ((,class (:inherit default :foreground ,base01 :background ,base02)))) + `(ruler-mode-pad ((,class (:inherit ruler-mode-default :background ,base03)))) + `(ruler-mode-margins ((,class (:inherit ruler-mode-default :foreground ,base1)))) + `(ruler-mode-fringes ((,class (:inherit ruler-mode-default :foreground ,green)))) + `(ruler-mode-column-number ((,class (:inherit ruler-mode-default :foreground ,base0)))) + `(ruler-mode-fill-column ((,class (:inherit ruler-mode-default :foreground ,red)))) + `(ruler-mode-comment-column ((,class (:inherit ruler-mode-default :foreground ,green)))) + `(ruler-mode-goal-column ((,class (:inherit ruler-mode-default :foreground ,cyan)))) + `(ruler-mode-tab-stop ((,class (:inherit ruler-mode-default :foreground ,violet)))) + `(ruler-mode-current-column ((,class (:inherit ruler-mode-default :foreground ,yellow :weight bold)))) ;;;;; selectrum-mode `(selectrum-current-candidate ((,class (:weight bold :background ,base02 :underline t)))) `(selectrum-primary-highlight ((,class (:foreground ,yellow)))) @@ -1983,6 +2185,14 @@ `(vertico-multiline ((,class (:foreground ,base01)))) ;;;;; volatile highlights `(vhl/default-face ((,class (:background ,green-lc :foreground ,green-hc)))) +;;;;; vundo + `(vundo-node ((,class (:foreground ,base01)))) + `(vundo-stem ((,class (:foreground ,base01)))) + `(vundo-branch-stem ((,class (:foreground ,base00)))) + `(vundo-highlight ((,class (:foreground ,blue :weight bold)))) + `(vundo-saved ((,class (:foreground ,green)))) + `(vundo-last-saved ((,class (:foreground ,green :weight bold)))) + `(vundo-diff-highlight ((,class (:foreground ,orange :weight bold)))) ;;;;; w3m `(w3m-anchor ((,class (:inherit link)))) `(w3m-arrived-anchor ((,class (:inherit link-visited)))) diff --git a/solarized-theme.el b/solarized-theme.el @@ -5,7 +5,7 @@ ;; Author: Bozhidar Batsov <bozhidar@batsov.dev> ;; Author: Thomas Frössman <thomasf@jossystem.se> ;; URL: http://github.com/bbatsov/solarized-emacs -;; Version: 2.1.0 +;; Version: 2.2.0 ;; Package-Requires: ((emacs "24.1")) ;; Keywords: convenience, themes, solarized diff --git a/solarized.el b/solarized.el @@ -403,11 +403,15 @@ customize the resulting theme." s-diff-fine-C-bg s-diff-fine-C-fg s-diff-context-fg s-diff-heading-bg s-diffstat-added-fg s-diffstat-changed-fg s-diffstat-removed-fg) - ;; NOTE: `custom--inhibit-theme-enable' turn-off needed - ;; childtheme works well discussed in #352 - (let ((custom--inhibit-theme-enable nil)) - ,@solarized-definition - ,@(eval childtheme-sexp))))) + ;; Emit the child theme's faces *before* the base definition. + ;; `custom-theme-set-faces' keeps the first spec it sees for a + ;; given face, so this is what lets a child theme override the + ;; base faces (#352). Doing it through ordering, rather than by + ;; binding `custom--inhibit-theme-enable' to nil, means we no + ;; longer force the faces to apply during loading and thus honor + ;; `load-theme's NO-ENABLE argument (#420, #325). + ,@(eval childtheme-sexp) + ,@solarized-definition))) (defmacro solarized-with-color-variables-with-palette (variant theme-name core-palette &optional childtheme-sexp) "Create a VARIANT of the theme named THEME-NAME with CORE-PALETTE.