commit 2c7c4c04e4ffd82412f0e05385f82fc37053c805 from: mtmn via: Miro Toman date: Wed Sep 16 07:51:35 2026 UTC Merge remote-tracking branch 'refs/remotes/origin/main' commit - 96a9d7c833030e0d5d457607c533e4d6245486f4 commit + 2c7c4c04e4ffd82412f0e05385f82fc37053c805 blob - e6366126e4c150a2e5b41c6d2f44d6733538b355 blob + 338b9576e618faa40c957c1bb568e08da1e8e83a --- .gitignore +++ .gitignore @@ -5,4 +5,5 @@ /auto-save-list/ /*.elc /lisp/*.elc +/themes/**/*.elc /plugins/**/*.elc blob - db750b380104a87645ab569a87adf8efca9bf5ee blob + e0f348e520422fdc21f965dd503a57094f6c44b5 --- init.el +++ init.el @@ -84,7 +84,6 @@ (elpaca-queue (elpaca undo-fu-session) (elpaca vundo) - (elpaca clipetty) (elpaca evil) (elpaca evil-collection) (elpaca evil-surround) @@ -112,7 +111,7 @@ (elpaca sly-quicklisp) (elpaca magit) (elpaca diff-hl) - (elpaca eat) + (elpaca vterm) (elpaca denote-journal) (elpaca denote-org) (elpaca gptel) @@ -122,7 +121,9 @@ (elpaca doric-themes) (elpaca ef-themes) (elpaca fontaine) - (elpaca (pilish :host github :repo "dnouri/pilish")) + (elpaca pilish) + (elpaca popper) + (elpaca (pale :host codeberg :repo "monadicsheep/pale")) (elpaca (tramp-rpc :host github :repo "ArthurHeymans/emacs-tramp-rpc" :files ("lisp/*.el"))) (elpaca (janet-ts-mode :host github :repo "sogaiu/janet-ts-mode")) @@ -133,7 +134,7 @@ (defconst mine-modules '(setup-core setup-ui setup-evil setup-cmp setup-search setup-treesitter setup-prog setup-eglot setup-git setup-shell setup-term-sessions setup-tramp-rpc - setup-notes setup-remind setup-gptel setup-keys) + setup-notes setup-remind setup-gptel setup-pilish setup-popper setup-keys) "Configuration libraries loaded during startup.") (dolist (module mine-modules) blob - 5942b07d7e7c0e28a388dd3149bf2ab794d2547f blob + 1a40ca0a0444e97c80361001b335b4733ae798d6 --- lisp/setup-core.el +++ lisp/setup-core.el @@ -79,7 +79,7 @@ mirrored path as relative; its parent directories are eshell-directory-name (mine-cache-subdir "eshell")) (defvar mine-last-theme nil - "Theme name to load at startup, persisted after restart.") + "GUI theme name to load at startup, persisted after restart.") (add-to-list 'savehist-additional-variables 'mine-last-theme) @@ -107,10 +107,6 @@ mirrored path as relative; its parent directories are select-enable-primary t save-interprogram-text-before-kill t) -(use-package clipetty - :if (not (display-graphic-p)) - :hook (after-init . clipetty-mode)) - (require 'server) (unless (or noninteractive (server-running-p)) blob - 3da5a34fb06322e538db574586321b9632f878f5 blob + 6e18cc90a812083a3fd782d3041a57593797377a --- lisp/setup-evil.el +++ lisp/setup-evil.el @@ -37,9 +37,10 @@ :bind (:map evil-insert-state-map ("C-g" . evil-normal-state)) :config - (evil-mode) + (evil-mode 1) (add-hook 'git-commit-setup-hook #'evil-insert-state) - (evil-set-initial-state 'eat-mode 'emacs) + (evil-set-initial-state 'term-mode 'emacs) + (evil-set-initial-state 'vterm-mode 'emacs) (evil-define-key '(normal visual) 'global (kbd "SPC") mine-evil-leader-map blob - 4b37400fa3f5a0bc77a546418cc6409efe6a2a21 blob + 0e89872485f1eecb49c8d20b405a8b74c25c4eca --- lisp/setup-keys.el +++ lisp/setup-keys.el @@ -25,6 +25,8 @@ (declare-function mine-gptel-denote-session "setup-gptel" ()) (declare-function mine-gptel-save-chat "setup-gptel" (&optional title)) +(declare-function pilish "pilish" (&optional arg)) + (declare-function gptel-send "gptel" (&optional arg)) (declare-function gptel-menu "gptel" ()) (declare-function gptel-rewrite "gptel" ()) @@ -81,6 +83,7 @@ (keymap-global-set "C-c n" mine-notes-prefix-map) (keymap-global-set "C-c r" mine-remind-prefix-map) (keymap-global-set "C-c L" mine-gptel-prefix-map) +(keymap-global-set "C-c p" #'pilish) (provide 'setup-keys) ;;; setup-keys.el ends here blob - /dev/null blob + 3bcb4b3f6fcddc8d102b5d98860e42a5009c511f (mode 644) --- /dev/null +++ lisp/setup-pilish.el @@ -0,0 +1,19 @@ +;;; setup-pilish.el --- Pi coding agent frontend -*- lexical-binding: t; -*- + +;;; Commentary: + +;; Configure Pilish (Emacs frontend for the pi coding agent): +;; custom backend executable and Evil integration. + +;;; Code: + +(use-package pilish + :custom + (pilish-executable '("pisol" "pi" "--offline")) + :custom-face + (pilish-model-name ((t (:inherit mode-line-buffer-id)))) + :config + (require 'pilish-evil nil t)) + +(provide 'setup-pilish) +;;; setup-pilish.el ends here blob - /dev/null blob + dd0e043f8823468d774fd3aecca95b0cf04ba59c (mode 644) --- /dev/null +++ lisp/setup-popper.el @@ -0,0 +1,43 @@ +;;; setup-popper.el --- Popup buffers that rotate between shells and Pilish -*- lexical-binding: t; -*- + +;;; Commentary: + +;; Popper keeps shell and Pilish buffers out of the way until summoned. +;; `popper-cycle' rotates between them. + +;;; Code: + +(declare-function popper-toggle "popper" ()) +(declare-function popper-cycle "popper" ()) +(declare-function popper-toggle-type "popper" ()) +(declare-function popper-mode "popper" (&optional arg)) +(defvar mine-evil-leader-map) + +(use-package popper + :bind (("C-`" . popper-toggle) + ("M-`" . popper-cycle) + ("C-M-`" . popper-toggle-type)) + :custom + (popper-group-function nil) + (popper-reference-buffers + '("\\*eshell\\*" + eshell-mode + "\\*terminal\\*" + term-mode + "\\*vterm\\*" + vterm-mode + "\\*pilish-.*\\*" + pilish-chat-mode + pilish-input-mode)) + :config + (popper-mode 1) + (require 'popper-echo nil t) + (when (fboundp 'popper-echo-mode) + (popper-echo-mode 1))) + +(with-eval-after-load 'evil + (keymap-set mine-evil-leader-map "t p" #'popper-toggle) + (keymap-set mine-evil-leader-map "t n" #'popper-cycle)) + +(provide 'setup-popper) +;;; setup-popper.el ends here blob - 0413a4bc6071a03902e00d5cb6b0655a88dbeec3 blob + 4b8fc6aafc37333cdc80bef5b9b3a2f7666d6617 --- lisp/setup-shell.el +++ lisp/setup-shell.el @@ -2,27 +2,22 @@ ;;; Commentary: -;; Configure Eshell, Eat, and Tramp. +;; Configure Eshell, Shell, and Tramp. ;;; Code: (declare-function consult-history "consult" (&optional history-elements)) -(declare-function eat-eshell-mode "eat" (&optional arg)) -(declare-function eat-eshell-visual-command-mode "eat" (&optional arg)) (defun mine-eshell-setup () "Bind `C-r' to `consult-history' in Eshell." (keymap-set (current-local-map) "C-r" #'consult-history)) -(add-hook 'eshell-mode-hook #'mine-eshell-setup) +(use-package eshell + :ensure nil + :hook (eshell-mode . mine-eshell-setup)) -(use-package eat - :after eshell - :custom - (eat-term-name "xterm-256color") - :config - (eat-eshell-mode) - (eat-eshell-visual-command-mode)) +(use-package vterm + :commands vterm) (use-package tramp :ensure nil blob - 910be71028e94678fe43194a1b8664ab942c6d4f blob + 9630ddbf41a8738609e6b7ecd6d2156016a7f66d --- lisp/setup-term-sessions.el +++ lisp/setup-term-sessions.el @@ -2,7 +2,7 @@ ;;; Commentary: -;; Persistent terminal sessions backed by zmx, attached through Eat. +;; Persistent terminal sessions backed by zmx, attached through Vterm. ;;; Code: @@ -10,9 +10,8 @@ (require 'use-package)) (use-package term-sessions - :after eat :custom - (term-sessions-preferred-frontend 'eat)) + (term-sessions-preferred-frontend 'vterm)) (provide 'setup-term-sessions) ;;; setup-term-sessions.el ends here blob - 1da24af77aa526d7ce665936e257de3455ea2508 blob + ead42476f0755ce2dd1a6cb7f8ea1d58c6d4b0a5 --- lisp/setup-ui.el +++ lisp/setup-ui.el @@ -77,41 +77,40 @@ ;; Move underlines to the descent line to reduce glyph clipping. (setopt x-underline-at-descent-line t)) -(defvar ef-themes-items) -(defvar doric-themes-collection) +(let ((themes (file-name-concat user-emacs-directory "themes"))) + (dolist (dir (cons themes (file-expand-wildcards (file-name-concat themes "*/")))) + (dolist (var '(load-path custom-theme-load-path)) + (add-to-list var dir)))) -(defun mine-theme--record () - "Persist selected theme on restart." - (when (display-graphic-p) - (catch 'found - (dolist (theme custom-enabled-themes) - (when (or (memq theme ef-themes-items) - (memq theme doric-themes-collection)) - (setq mine-last-theme theme) - (throw 'found t)))))) +(defun mine-theme--record (&rest _) + "Persist selected GUI theme across restarts." + (when (and custom-enabled-themes (display-graphic-p)) + (setq mine-last-theme (car custom-enabled-themes)))) -(add-hook 'doric-themes-after-load-theme-hook #'mine-theme--record) +(advice-add 'load-theme :after #'mine-theme--record) -(use-package doric-themes - :unless (display-graphic-p) - :demand t - :config - (load-theme (if (eq system-type 'darwin) 'ef-maris-dark 'ef-night) t) - ;; Inherit background and foreground from the terminal emulator. - (face-spec-set 'default '((t (:background unspecified - :foreground unspecified))) - 'face-override-spec)) +(add-hook 'enable-theme-functions #'mine-theme--record) +(unless (display-graphic-p) + (condition-case nil + (load-theme 'eziam-dark t) + (error (load-theme 'ef-night t)))) + (use-package ef-themes :if (display-graphic-p) :demand t :config (add-hook 'ef-themes-after-load-theme-hook #'mine-theme--record) - (load-theme (or (and mine-last-theme - (require-theme mine-last-theme 'noerror)) - 'ef-winter) - t)) + (condition-case nil + (load-theme (or (and (symbolp mine-last-theme) mine-last-theme) + 'ef-winter) + t) + (error (load-theme 'ef-winter t)))) +;; Vendored third-party snapshots, theme files already say no-byte-compile. +(when (boundp 'compile-angel-excluded-path-suffixes) + (add-to-list 'compile-angel-excluded-path-suffixes "/themes/")) + (setopt display-line-numbers-width 3) (add-hook 'prog-mode-hook #'display-line-numbers-mode) @@ -139,5 +138,11 @@ (which-key-mode) +(when (boundp 'mode-line-collapse-minor-modes) + (setopt mode-line-collapse-minor-modes + '(evil-collection-unimpaired-mode + which-key-mode + compile-angel-on-load-mode))) + (provide 'setup-ui) ;;; setup-ui.el ends here blob - /dev/null blob + 1109c06c392f3d1b4ad65d960a274a5a59efe367 (mode 644) --- /dev/null +++ themes/eziam/eziam-dark-theme.el @@ -0,0 +1,101 @@ +;;; eziam-dark-theme.el --- Dark version of the Eziam theme -*- lexical-binding: t; -*- + +;; Copyright (c) 2016-2020 Thibault Polge + +;; Eziam is based on Tao theme, copyright (C) 2014 Peter <11111000000 +;; at email.com> with contributions by Jasonm23 . +;; Tao also credits: "Original faces taken from Zenburn theme port (c) +;; by Bozhidar Batsov" + +;; Author: Thibault Polge +;; Maintainer: Thibault Polge +;; +;; Keywords: faces +;; Homepage: https://github.com/thblt/eziam-theme-emacs +;; Version: 5.1 + +;; 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. +;; +;; 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. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This package provides a dark version of the Eziam theme for Emacs. + +;;; Code: + +(require 'eziam-themes) + +(deftheme eziam-dark "The dark Eziam color theme") + +(eziam-with-color-variables + ( + ;; Base palette + ("color-0" . "#000000") + ("color-1" . "#111111") + ("color-2" . "#444444") + ("color-3" . "#666666") + ("color-4" . "#888888") + ("color-5" . "#aaaaaa") + ("color-6" . "#cccccc") + ("color-7" . "#eeeeee") + ("color-8" . "#ffffff") + ;; Headings + ("ol1-fg" . nil) + ("ol1-bg" . "#000000") + ("ol2-fg" . nil) + ("ol2-bg" . "#063545") + ("ol3-fg" . nil) + ("ol3-bg" . "#186b8c") + ("ol4-fg" . "#222222") + ("ol4-bg" . "#1e85ae") + ("ol5-fg" . "#222222") + ("ol5-bg" . "#96a4ab") + ("ol6-fg" . nil) + ("ol6-bg" . nil) + ("ol7-fg" . nil) + ("ol7-bg" . nil) + ("ol8-fg" . nil) + ("ol8-bg" . nil) + ;; Misc + ("colored-comments" . "#ccffcc") + ("transient-highlight" . "#ffff00") + ("transient-highlight-fg" . "#000000") + ("warning" . "gold") + ("error" . "#ff0000") + ("info" . "DeepSkyBlue") + ("ok" . "green") + + ("rainbow-1" . "#ff0000") + ("rainbow-2" . "#ff7700") + ("rainbow-3" . "#ffff00") + ("rainbow-4" . "#00ff00") + ("rainbow-5" . "#0000ff") + ("rainbow-6" . "#8f00ff") + ) + (eziam-apply-custom-theme 'eziam-dark)) + +;;;###autoload +(and load-file-name + (boundp 'custom-theme-load-path) + (add-to-list 'custom-theme-load-path + (file-name-as-directory + (file-name-directory load-file-name)))) + +(provide-theme 'eziam-dark) + +;; Local Variables: +;; mode: emacs-lisp; +;; indent-tabs-mode: nil +;; End: + +;;; eziam-dark-theme.el ends here blob - /dev/null blob + a4b723b7e5452706c6e66eb214c0959f3ead049c (mode 644) --- /dev/null +++ themes/eziam/eziam-dusk-theme.el @@ -0,0 +1,101 @@ +;;; eziam-dusk-theme.el --- Dusk version of the Eziam theme -*- lexical-binding: t; -*- + +;; Copyright (c) 2016-2017 Thibault Polge + +;; Eziam is based on Tao theme, copyright (C) 2014 Peter <11111000000 +;; at email.com> with contributions by Jasonm23 . +;; Tao also credits: "Original faces taken from Zenburn theme port (c) +;; by Bozhidar Batsov" + +;; Author: Thibault Polge +;; Maintainer: Thibault Polge +;; +;; Keywords: faces +;; Homepage: https://github.com/thblt/eziam-theme-emacs +;; Version: 5.1 + +;; 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. +;; +;; 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. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This package provides a dusk version of the Eziam theme for Emacs. + +;;; Code: + +(require 'eziam-themes) + +(deftheme eziam-dusk "The dusk Eziam color theme") + +(eziam-with-color-variables + ( + ;; Base palette + ("color-0" . "#222222") + ("color-1" . "#444444") + ("color-2" . "#666666") + ("color-3" . "#888888") + ("color-4" . "#AAAAAA") + ("color-5" . "#CCCCCC") + ("color-6" . "#EEEEEE") + ("color-7" . "#FFFFFF") + ("color-8" . "#ffffff") + ;; Headings + ("ol1-fg" . nil) + ("ol1-bg" . "#000000") + ("ol2-fg" . nil) + ("ol2-bg" . "#063545") + ("ol3-fg" . nil) + ("ol3-bg" . "#186b8c") + ("ol4-fg" . "#222222") + ("ol4-bg" . "#1e85ae") + ("ol5-fg" . "#222222") + ("ol5-bg" . "#96a4ab") + ("ol6-fg" . nil) + ("ol6-bg" . nil) + ("ol7-fg" . nil) + ("ol7-bg" . nil) + ("ol8-fg" . nil) + ("ol8-bg" . nil) + ;; Misc + ("colored-comments" . "#ccffcc") + ("transient-highlight" . "yellow") + ("transient-highlight-fg" . "#000000") + ("warning" . "gold") + ("error" . "#ff0000") + ("info" . "DeepSkyBlue") + ("ok" . "green") + + ("rainbow-1" . "#ff0000") + ("rainbow-2" . "#ff7700") + ("rainbow-3" . "#ffff00") + ("rainbow-4" . "#00ff00") + ("rainbow-5" . "#0000ff") + ("rainbow-6" . "#8f00ff") + ) + (eziam-apply-custom-theme 'eziam-dusk)) + +;;;###autoload +(and load-file-name + (boundp 'custom-theme-load-path) + (add-to-list 'custom-theme-load-path + (file-name-as-directory + (file-name-directory load-file-name)))) + +(provide-theme 'eziam-dusk) + +;; Local Variables: +;; mode: emacs-lisp; +;; indent-tabs-mode: nil +;; End: + +;;; eziam-dusk-theme.el ends here blob - /dev/null blob + eee587a2bdc47e7e6532d87266b69b9983a4718d (mode 644) --- /dev/null +++ themes/eziam/eziam-light-theme.el @@ -0,0 +1,101 @@ +;;; eziam-light-theme.el --- Light version of the Eziam theme -*- lexical-binding: t; -*- + +;; Copyright (c) 2016-2020 Thibault Polge + +;; Eziam is based on Tao theme, copyright (C) 2014 Peter <11111000000 +;; at email.com> with contributions by Jasonm23 . +;; Tao also credits: "Original faces taken from Zenburn theme port (c) +;; by Bozhidar Batsov" + +;; Author: Thibault Polge +;; Maintainer: Thibault Polge +;; +;; Keywords: faces +;; Homepage: https://github.com/thblt/eziam-theme-emacs +;; Version: 5.1 + +;; 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. +;; +;; 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. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This package provides a light version of the Eziam theme for Emacs. + +;;; Code: + +(require 'eziam-themes) + +(deftheme eziam-light "The light Eziam color theme") + +(eziam-with-color-variables + ( + ;; Base palette + ("color-0" . "#ffffff") + ("color-1" . "#eeeeee") + ("color-2" . "#dddddd") + ("color-3" . "#cccccc") + ("color-4" . "#aaaaaa") + ("color-5" . "#888888") + ("color-6" . "#555555") + ("color-7" . "#222222") + ("color-8" . "#000000") + ;; Headings + ("ol1-fg" . nil) + ("ol1-bg" . "#ffffff") + ("ol2-fg" . nil) + ("ol2-bg" . "#d6eaf4") + ("ol3-fg" . nil) + ("ol3-bg" . "#c1d3dc") + ("ol4-fg" . nil) + ("ol4-bg" . "#abbbc3") + ("ol5-fg" . "#eeeeee") + ("ol5-bg" . "#96a4ab") + ("ol6-fg" . nil) + ("ol6-bg" . "#d7d7d7") + ("ol7-fg" . nil) + ("ol7-bg" . nil) + ("ol8-fg" . nil) + ("ol8-bg" . nil) + ;; Misc + ("colored-comments" . "#117711") + ("transient-highlight" . "#ffff00") + ("transient-highlight-fg" . "#000000") + ("warning" . "DarkOrange") + ("error" . "#ff0000") + ("info" . "#2244ff") + ("ok" . "ForestGreen") + + ("rainbow-1" . "#ff0000") + ("rainbow-2" . "#ff7700") + ("rainbow-3" . "goldenrod") + ("rainbow-4" . "#00aa00") + ("rainbow-5" . "#0000ff") + ("rainbow-6" . "#8f00ff") + ) + (eziam-apply-custom-theme 'eziam-light)) + +;;;###autoload +(and load-file-name + (boundp 'custom-theme-load-path) + (add-to-list 'custom-theme-load-path + (file-name-as-directory + (file-name-directory load-file-name)))) + +(provide-theme 'eziam-light) + +;; Local Variables: +;; mode: emacs-lisp; +;; indent-tabs-mode: nil +;; End: + +;;; eziam-light-theme.el ends here blob - /dev/null blob + 4057140a5e711062efbd4ede1333ebbca64cec88 (mode 644) --- /dev/null +++ themes/eziam/eziam-themes.el @@ -0,0 +1,1138 @@ +;;; eziam-themes.el --- The mostly monochrome Eziam theme family -*- lexical-binding: t; -*- + +;; Copyright (c) 2016-2020 Thibault Polge + +;; Eziam is based on Tao theme, copyright (C) 2014 Peter <11111000000 +;; at email.com> with contributions by Jasonm23 . +;; Tao also credits: "Original faces taken from Zenburn theme port (c) +;; by Bozhidar Batsov" + +;; Author: Thibault Polge +;; Maintainer: Thibault Polge +;; +;; Keywords: faces +;; Homepage: https://github.com/thblt/eziam-theme-emacs +;; Version: 5.1 + +;; 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. +;; +;; 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. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This package provides several mostly monochrome theme family in the +;; Eziam family, which were inspired by the Tao and Leuven themes. + +;;; Code: + +;;;; Variables + +(defgroup eziam-theme nil + "Customization options for the Eziam theme family." + :group 'eziam + :group 'faces) + +(defcustom eziam-scale-headings t + "Non-nil means eziam-theme is allowed to customize the height of outline headlines." + :type 'boolean + :group 'eziam-theme) + +(defcustom eziam-scale-other t + "Non-nil means eziam-theme is allowed to customize the height of non-outline headlines faces." + :type 'boolean + :group 'eziam-theme) + +(defcustom eziam-heading-style 'classic + "Default style for headings. + +Accepted values are: + + - 'classic, the classic Eziam look. + - 'gray-blocks, scaled gray blocks organized by brightness. + +Appearance for specific modes are controlled with dedicated variables whose names match `eziam-*-heading-style'." + :type '(choice (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-latex-heading-style nil + "Style for outline-(minor)-mode headings. See `eziam-heading-style' for legal values." + :type '(choice (const :tag "Follow default" nil) (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-markdown-heading-style nil + "Style for markdown-mode headings. See `eziam-heading-style' for legal values." + :type '(choice (const :tag "Follow default" nil) (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-org-heading-style nil + "Style for Org-Mode headings. See `eziam-heading-style' for legal values." + :type '(choice (const :tag "Follow default" nil) (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-outline-heading-style nil + "Style for outline-(minor)-mode headings. See `eziam-heading-style' for legal values." + :type '(choice (const :tag "Follow default" nil) (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-outshine-heading-style nil + "Style for Outshine headings. See `eziam-heading-style' for legal values." + :type '(choice (const :tag "Follow default" nil) (const classic) (const gray-blocks)) + :group 'eziam-theme) + +(defcustom eziam-color-comments nil + "If non-nil, comments will be rendered in a non-neutral color. I like this better." + :type 'boolean + :group 'eziam-theme) + +(defun eziam--heading-height (height) + "Return HEIGHT if EZIAM-SCALE-HEADINGS is non-nil." + (if eziam-scale-headings + height + 1.0)) + +(defun eziam--other-height (height) + "Return HEIGHT if EZIAM-SCALE-OTHER is non-nil." + (if eziam-scale-other + height + 1.0)) + +(defmacro eziam-with-color-variables (eziam-colors &rest body) + "`let' bind all colors defined in EZIAM-COLORS around BODY. +Also bind `class' to ((class color) (min-colors 89))." + (declare (indent 0)) + `(let ((class '((class color) (min-colors 89))) + ,@(mapcar (lambda (c) + (list (intern (car c)) (cdr c))) + eziam-colors)) + ,@body)) + +(defun eziam--heading-face-form (style level) + "Build a form selecting the level LEVEL heading face for STYLE. +STYLE is a quoted heading-style variable, LEVEL a number from 1 to 8. +The returned form reads the style value when run and selects the +matching `ol-classic-N' or `ol-gray-blocks-N' binding." + (let ((classic (intern (format "ol-classic-%s" level))) + (gray (intern (format "ol-gray-blocks-%s" level)))) + `(if (eq ,style 'gray-blocks) ,gray ,classic))) + +(defmacro eziam-apply-custom-theme (theme-name) + "Expand to code applying the Eziam theme faces under THEME-NAME. +The expansion refers to palette variables that +`eziam-with-color-variables' lexically binds around it, so only use +this macro inside that macro." + `(let ((class '((class color) (min-colors 256))) + ;; Outline headings, classic look + (ol-classic-1 `(:height ,(eziam--heading-height 1.8) :foreground ,ol1-fg :background ,ol1-bg :weight bold :overline t)) + (ol-classic-2 `(:height ,(eziam--heading-height 1.5) :foreground ,ol2-fg :background ,ol2-bg :overline t )) + (ol-classic-3 `(:height ,(eziam--heading-height 1.2) :foreground ,ol3-fg :background ,ol3-bg :weight bold :overline t )) + (ol-classic-4 `(:height ,(eziam--heading-height 1.0) :foreground ,ol4-fg :background ,ol4-bg :overline t)) + (ol-classic-5 `(:height ,(eziam--heading-height 1.0) :foreground ,ol5-fg :background ,ol5-bg :overline t :weight bold)) + (ol-classic-6 `(:height ,(eziam--heading-height 1.0) :foreground ,ol6-fg :background ,ol6-bg :underline t :overline t :weight bold)) + (ol-classic-7 `(:height ,(eziam--heading-height 1.0) :foreground ,ol7-fg :background ,ol7-bg :underline t :weight bold :slant italic)) + (ol-classic-8 `(:height ,(eziam--heading-height 1.0) :foreground ,ol8-fg :background ,ol8-bg :underline t :slant italic)) + ;; Outline headings, gray blocks style + (ol-gray-blocks-1 `(:background ,color-6 :height ,(eziam--heading-height 1.6) :foreground ,color-1 :distant-foreground ,color-7 :weight normal :slant normal :overline nil :underline nil :box ,color-4)) + (ol-gray-blocks-2 `(:background ,color-5 :height ,(eziam--heading-height 1.4) :foreground ,color-1 :distant-foreground ,color-7 :weight normal :slant normal :overline nil :underline nil :box nil)) + (ol-gray-blocks-3 `(:background ,color-4 :height ,(eziam--heading-height 1.2) :foreground ,color-7 :distant-foreground ,color-7 :weight normal :slant normal :overline nil :underline nil :box nil)) + (ol-gray-blocks-4 `(:background ,color-3 :height ,(eziam--heading-height 1.0) :foreground ,color-7 :distant-foreground ,color-7 :weight normal :slant italic :overline nil :underline ,color-5 :box nil)) + (ol-gray-blocks-5 `(:background ,color-2 :height ,(eziam--heading-height 1.0) :foreground ,color-7 :distant-foreground ,color-7 :weight bold :slant normal :overline nil :underline ,color-5 :box nil)) + (ol-gray-blocks-6 `(:background ,color-1 :height ,(eziam--heading-height 1.0) :foreground ,color-7 :distant-foreground ,color-7 :weight normal :slant normal :overline nil :underline ,color-7 :box nil)) + (ol-gray-blocks-7 `(:background ,color-1 :height ,(eziam--heading-height 1.0) :foreground ,color-6 :distant-foreground ,color-7 :weight normal :slant italic :overline nil :underline ,color-7 :box nil)) + (ol-gray-blocks-8 `(:background ,color-0 :height ,(eziam--heading-height 1.0) :foreground ,color-7 :distant-foreground ,color-7 :weight normal :slant italic :overline nil :underline nil :box nil)) + + (latex-heading-style (or eziam-latex-heading-style eziam-heading-style)) + (markdown-heading-style (or eziam-markdown-heading-style eziam-heading-style)) + (outline-heading-style (or eziam-outline-heading-style eziam-heading-style)) + (org-heading-style (or eziam-org-heading-style eziam-heading-style)) + (outshine-heading-style (or eziam-outshine-heading-style eziam-heading-style)) + + (transient-highlight `(:background ,transient-highlight :foreground ,transient-highlight-fg)) + (info-text `(:underline (:color ,info :style wave))) + (warning-text `(:underline (:color ,warning :style wave))) + (error-text `(:underline (:color ,error :style wave))) + (button-on `(:background ,color-0 :foreground ,color-7 :overline ,color-4 :weight bold)) + (button-off `(:background ,color-2 :foreground ,color-7 :overline ,color-4))) + + (custom-theme-set-faces + ,theme-name +;;;;; Built-in + `(bold ((t (:weight bold)))) + ;; @FIXED - Don't set foreground for bold: it is used by some modes on a different background (eg tabulated-list-mode) + `(default ((t (:foreground ,color-8 :background ,color-1)))) + `(button ((t (:underline t)))) + `(link ((t (:foreground ,color-8 :underline t :weight bold)))) + `(link-visited ((t (:foreground ,color-8 :underline t :weight normal)))) + `(hl-paren-face ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) + `(cursor ((t (:foreground ,color-8 :background ,color-8)))) + `(escape-glyph ((t (:foreground ,color-8 :bold t)))) + `(fringe ((t (:foreground ,color-4 :background ,color-2)))) + `(header-line ((t (:inherit mode-line)))) + `(highlight ((t (:background ,color-3)))) + `(region ((t (:background ,color-6 :foreground ,color-1)))) + `(shadow ((t (:foreground ,color-3)))) + `(success ((t (:foreground ,color-6 :weight bold)))) + `(warning ((t (:foreground ,color-8 :weight bold)))) + ;; compilation + `(compilation-column-face ((t (:foreground ,color-8)))) + `(compilation-enter-directory-face ((t (:foreground ,color-6)))) + `(compilation-error-face ((t (:foreground ,color-6 :weight bold :underline t)))) + `(compilation-face ((t (:foreground ,color-8)))) + `(compilation-info-face ((t (:foreground ,color-8)))) + `(compilation-info ((t (:foreground ,color-8 :underline t)))) + `(compilation-leave-directory-face ((t (:foreground ,color-6)))) + `(compilation-line-face ((t (:foreground ,color-8)))) + `(compilation-line-number ((t (:foreground ,color-8)))) + `(compilation-message-face ((t (:foreground ,color-8)))) + `(compilation-warning-face ((t (:foreground ,color-8 :weight bold :underline t)))) + `(compilation-mode-line-exit ((t (:foreground ,color-8 :weight bold)))) + `(compilation-mode-line-fail ((t (:foreground ,color-7 :weight bold)))) + `(compilation-mode-line-run ((t (:foreground ,color-8 :weight bold)))) +;;;;; line numbers + `(line-number ((t (:background ,color-2 :foreground ,color-4)))) + `(line-number-current-line ((t (:background ,color-1 :foreground ,color-6)))) + `(line-number-major-tick ((t (:background ,color-2 :foreground ,color-6 :weight bold)))) + `(line-number-minor-tick ((t (:background ,color-2 :foreground ,color-5 :weight bold)))) + `(linum ((t (:inherit line-number)))) + `(linum-relative-current-face ((t (:inherit line-number-current-line)))) +;;;;; grep + `(grep-context-face ((t (:foreground ,color-8)))) + `(grep-error-face ((t (:foreground ,color-6 :weight bold :underline t)))) + `(grep-hit-face ((t (:foreground ,color-8)))) + `(grep-match-face ((t (:foreground ,color-8 :weight bold)))) + `(match ((t (:background ,color-1 :foreground ,color-8 :weight bold)))) +;;;;; haskell-mode + ;; @TODO: This is a work-in-progress + `(haskell-literate-comment-face ((t :background ,(if eziam-color-comments colored-comments color-0)))) + `(haskell-operator-face ((t (:background ,color-0)))) +;;;;; ivy + `(ivy-current-match + ;; This is very similar to :inverse-video t, but works better with color selectors. + ((t (:background ,color-8 :foreground ,color-0 :weight bold)))) +;;;;; make + `(makefile-space ((t (:background ,color-1)))) + `(makefile-targets ((t (:underline t)))) + `(makefile-shell ((t (:slant italic)))) +;;;;; isearch + `(isearch ((,class ,transient-highlight))) + `(isearch-fail ((t (:foreground ,color-8 :background ,color-4)))) + `(lazy-highlight ((t (:foreground ,color-8 :weight bold :background ,color-2)))) + `(menu ((t (:foreground ,color-8 :background ,color-1)))) + `(minibuffer-prompt ((t (:foreground ,color-8 :color ,color-1)))) + `(mode-line ((t (:foreground ,color-1 :background ,color-6 :box nil )))) + `(mode-line-inactive ((t (:foreground ,color-1 :background ,color-4 :box nil )))) + `(mode-line-buffer-id ((t (:foreground ,color-1 :weight bold)))) + `(secondary-selection ((t (:background ,color-1)))) + `(cua-rectangle ((t (:background ,color-1)))) + `(trailing-whitespace ((t (:background ,color-7)))) + `(vertical-border ((t (:foreground ,color-4 :background ,color-1)))) +;;;;; font lock + `(font-lock-builtin-face ((t (:foreground ,color-7 :weight bold)))) + `(font-lock-comment-face ((t (:foreground ,(if eziam-color-comments colored-comments color-5) :slant italic)))) + `(font-lock-delimiter-face ((t (:foreground ,color-5 :slant italic)))) + `(font-lock-constant-face ((t (:foreground ,color-5 :weight bold)))) + `(font-lock-doc-face ((t (:foreground ,(if eziam-color-comments colored-comments color-5))))) + `(font-lock-function-name-face ((t (:background ,color-0 :overline ,color-2 :underline ,color-2 :slant italic)))) + `(font-lock-keyword-face ((t (:foreground ,color-8 :weight bold)))) + `(font-lock-negation-char-face ((t (:foreground ,color-8 :weight bold)))) + `(font-lock-preprocessor-face ((t (:foreground ,color-8)))) + `(font-lock-regexp-grouping-construct ((t (:foreground ,color-8 :weight bold)))) + `(font-lock-regexp-grouping-backslash ((t (:foreground ,color-6 :weight bold)))) + `(font-lock-string-face ((t (:foreground ,color-6)))) + `(font-lock-type-face ((t (:foreground ,color-7 :underline t)))) + `(font-lock-variable-name-face ((t (:foreground ,color-7 :slant italic)))) + `(font-lock-warning-face ((t (:foreground ,warning :weight bold)))) + `(c-annotation-face ((t (:inherit font-lock-constant-face)))) +;;;;; newsticker + `(newsticker-date-face ((t (:foreground ,color-8)))) + `(newsticker-default-face ((t (:foreground ,color-8)))) + `(newsticker-enclosure-face ((t (:foreground ,color-8)))) + `(newsticker-extra-face ((t (:foreground ,color-4 :height ,(eziam--other-height 0.8))))) ;; FIXME + `(newsticker-feed-face ((t (:foreground ,color-8)))) + `(newsticker-immortal-item-face ((t (:foreground ,color-6)))) + `(newsticker-new-item-face ((t (:foreground ,color-8)))) + `(newstickerphone-obsolete-item-face ((t (:foreground ,color-7)))) + `(newsticker-old-item-face ((t (:foreground ,color-5)))) + `(newsticker-statistics-face ((t (:foreground ,color-8)))) + `(newsticker-treeview-face ((t (:foreground ,color-8)))) + `(newsticker-treeview-immortal-face ((t (:foreground ,color-6)))) + `(newsticker-treeview-listwindow-face ((t (:foreground ,color-8)))) + `(newsticker-treeview-new-face ((t (:foreground ,color-8 :weight bold)))) + `(newsticker-treeview-obsolete-face ((t (:foreground ,color-7)))) + `(newsticker-treeview-old-face ((t (:foreground ,color-5)))) + `(newsticker-treeview-selection-face ((t (:background ,color-1 :foreground ,color-8)))) + ;; Third-party +;;;;; highlight-symbol + `(highlight-symbol-face ((t (:background ,color-1)))) +;;;;; ace-jump + `(ace-jump-face-background ((t (:foreground ,color-3 :background ,color-1 :inverse-video nil)))) + `(ace-jump-face-foreground ((t (:foreground ,color-8 :background ,color-1 :inverse-video nil)))) +;;;;; anzu + `(anzu-mode-line ((t (:foreground ,color-8 :weight bold)))) +;;;;; full-ack + `(ack-separator ((t (:foreground ,color-8)))) + `(ack-file ((t (:foreground ,color-8)))) + `(ack-line ((t (:foreground ,color-8)))) + `(ack-match ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) +;;;;; auctex + `(font-latex-bold-face ((t (:inherit bold)))) + `(font-latex-warning-face ((t (:foreground nil :inherit font-lock-warning-face)))) + `(font-latex-sectioning-5-face ((t (:foreground ,color-7 :weight bold )))) + `(font-latex-sedate-face ((t (:foreground ,color-8)))) + `(font-latex-italic-face ((t (:foreground ,color-8 :slant italic)))) + `(font-latex-string-face ((t (:inherit ,font-lock-string-face)))) + `(font-latex-math-face ((t (:foreground ,color-8)))) + `(font-latex-sectioning-0-face ((t ,,(eziam--heading-face-form 'latex-heading-style 1)))) + `(font-latex-sectioning-1-face ((t ,,(eziam--heading-face-form 'latex-heading-style 2)))) + `(font-latex-sectioning-2-face ((t ,,(eziam--heading-face-form 'latex-heading-style 3)))) + `(font-latex-sectioning-3-face ((t ,,(eziam--heading-face-form 'latex-heading-style 4)))) + `(font-latex-sectioning-4-face ((t ,,(eziam--heading-face-form 'latex-heading-style 5)))) + `(font-latex-sectioning-5-face ((t ,,(eziam--heading-face-form 'latex-heading-style 6)))) +;;;;; auto-complete + `(ac-candidate-face ((t (:background ,color-5 :foreground ,color-1 :underline nil)))) + `(ac-selection-face ((t (:background ,color-4 :foreground ,color-8 :underline nil)))) + `(ac-yasnippet-candidate-face ((t (:background ,color-5 :foreground ,color-1)))) + `(ac-yasnippet-selection-face ((t (:background ,color-4 :foreground ,color-8)))) + `(ac-slime-menu-face ((t (:background ,color-5 :foreground ,color-1)))) + `(ac-slime-selection-face ((t (:background ,color-4 :foreground ,color-8)))) + `(ac-gtags-candidate-face ((t (:background ,color-5 :foreground ,color-1)))) + `(ac-gtags-selection-face ((t (:background ,color-4 :foreground ,color-8)))) + `(ac-emmet-candidate-face ((t (:background ,color-5 :foreground ,color-1)))) + `(ac-emmet-selection-face ((t (:background ,color-4 :foreground ,color-8)))) +;;;;; auto-dim-other-buffers + `(auto-dim-other-buffers-face ((t (:background ,color-2)))) +;;;;; popup + `(popup-tip-face ((t (:background ,color-8 :foreground ,color-1)))) + `(popup-scroll-bar-foreground-face ((t (:background ,color-3)))) + `(popup-scroll-bar-background-face ((t (:background ,color-1)))) + `(popup-isearch-match ((t (:background ,color-1 :foreground ,color-8)))) +;;;;; android mode + `(android-mode-debug-face ((t (:foreground ,color-7)))) + `(android-mode-error-face ((t (:foreground ,color-8 :weight bold)))) + `(android-mode-info-face ((t (:foreground ,color-8)))) + `(android-mode-verbose-face ((t (:foreground ,color-6)))) + `(android-mode-warning-face ((t (:foreground ,color-8)))) +;;;;; bm + `(bm-face ((t (:background ,color-8 :foreground ,color-2)))) + `(bm-fringe-face ((t (:background ,color-1 :foreground ,color-1)))) + `(bm-fringe-persistent-face ((t (:background ,color-1 :foreground ,color-1)))) + `(bm-persistent-face ((t (:background ,color-5 :foreground ,color-2)))) +;;;;; clojure-test-mode + `(clojure-test-failure-face ((t (:foreground ,color-8 :weight bold :underline t)))) + `(clojure-test-error-face ((t (:foreground ,color-7 :weight bold :underline t)))) + `(clojure-test-success-face ((t (:foreground ,color-7 :weight bold :underline t)))) +;;;;; coq + `(coq-solve-tactics-face ((t (:foreground nil :inherit font-lock-constant-face)))) +;;;;; ctable + `(ctbl:face-cell-select ((t (:background ,color-8 :foreground ,color-2)))) + `(ctbl:face-continue-bar ((t (:background ,color-1 :foreground ,color-2)))) + `(ctbl:face-row-select ((t (:background ,color-8 :foreground ,color-2)))) +;;;;; diff + `(diff-added ((,class (:foreground ,color-8 :background nil)) (t (:foreground ,color-5 :background nil)))) + `(diff-changed ((t (:foreground ,color-8)))) + `(diff-removed ((,class (:foreground ,color-7 :background nil)) (t (:foreground ,color-5 :background nil)))) + `(diff-refine-added ((t :inherit diff-added :weight bold))) + `(diff-refine-change ((t :inherit diff-changed :weight bold))) + `(diff-refine-removed ((t :inherit diff-removed :weight bold))) + `(diff-header ((,class (:background ,color-4)) (t (:background ,color-8 :foreground ,color-2)))) + `(diff-file-header ((,class (:background ,color-4 :foreground ,color-8 :bold t)) (t (:background ,color-8 :foreground ,color-2 :bold t)))) +;;;;; dired + `(dired-directory ((t (:foreground ,color-8 :bold t)))) +;;;;; dired+ + `(diredp-display-msg ((t (:foreground ,color-8)))) + `(diredp-compressed-file-suffix ((t (:foreground ,color-8)))) + `(diredp-date-time ((t (:foreground ,color-7)))) + `(diredp-deletion ((t (:foreground ,color-8)))) + `(diredp-deletion-file-name ((t (:foreground ,color-7)))) + `(diredp-dir-heading ((t (:foreground ,color-8 :background ,color-1 :bold t)))) + `(diredp-dir-priv ((t (:foreground ,color-8 :bold t)))) + `(diredp-dir-name ((t (:foreground ,color-8 :bold t)))) + `(diredp-exec-priv ((t (:foreground ,color-7)))) + `(diredp-executable-tag ((t (:foreground ,color-7)))) + `(diredp-file-name ((t (:foreground ,color-8)))) + `(diredp-file-suffix ((t (:foreground ,color-8 :bold t)))) + `(diredp-flag-mark ((t (:foreground ,color-8)))) + `(diredp-flag-mark-line ((t (:foreground ,color-8)))) + `(diredp-ignored-file-name ((t (:foreground ,color-3)))) + `(diredp-link-priv ((t (:foreground ,color-8)))) + `(diredp-mode-line-flagged ((t (:foreground ,color-8)))) + `(diredp-mode-line-marked ((t (:foreground ,color-8)))) + `(diredp-no-priv ((t (:foreground ,color-8)))) + `(diredp-number ((t (:foreground ,color-7)))) + `(diredp-other-priv ((t (:foreground ,color-8)))) + `(diredp-rare-priv ((t (:foreground ,color-6)))) + `(diredp-read-priv ((t (:foreground ,color-5)))) + `(diredp-symlink ((t (:foreground ,color-8)))) + `(diredp-write-priv ((t (:foreground ,color-7)))) +;;;;; ediff + `(ediff-current-diff-A ((t (:foreground ,color-8 :background ,color-4)))) + `(ediff-current-diff-Ancestor ((t (:foreground ,color-8 :background ,color-4)))) + `(ediff-current-diff-B ((t (:foreground ,color-8 :background ,color-5)))) + `(ediff-current-diff-C ((t (:foreground ,color-8 :background ,color-3)))) + `(ediff-even-diff-A ((t (:background ,color-3)))) + `(ediff-even-diff-Ancestor ((t (:background ,color-3)))) + `(ediff-even-diff-B ((t (:background ,color-3)))) + `(ediff-even-diff-C ((t (:background ,color-3)))) + `(ediff-fine-diff-A ((t (:foreground ,color-8 :background ,color-6 :weight bold)))) + `(ediff-fine-diff-Ancestor ((t (:foreground ,color-8 :background ,color-6 :weight bold)))) + `(ediff-fine-diff-B ((t (:foreground ,color-8 :background ,color-6 :weight bold)))) + `(ediff-fine-diff-C ((t (:foreground ,color-8 :background ,color-5 :weight bold )))) + `(ediff-odd-diff-A ((t (:background ,color-4)))) + `(ediff-odd-diff-Ancestor ((t (:background ,color-4)))) + `(ediff-odd-diff-B ((t (:background ,color-4)))) + `(ediff-odd-diff-C ((t (:background ,color-4)))) +;;;;; ert + `(ert-test-result-expected ((t (:foreground ,color-8 :background ,color-1)))) + `(ert-test-result-unexpected ((t (:foreground ,color-7 :background ,color-1)))) +;;;;; eshell + `(eshell-prompt ((t (:foreground ,color-8 :weight bold)))) + `(eshell-ls-archive ((t (:foreground ,color-6 :weight bold)))) + `(eshell-ls-backup ((t (:inherit font-lock-comment-face)))) + `(eshell-ls-clutter ((t (:inherit font-lock-comment-face)))) + `(eshell-ls-directory ((t (:foreground ,color-8 :weight bold)))) + `(eshell-ls-executable ((t (:foreground ,color-8 :weight bold)))) + `(eshell-ls-unreadable ((t (:foreground ,color-8)))) + `(eshell-ls-missing ((t (:inherit font-lock-warning-face)))) + `(eshell-ls-product ((t (:inherit font-lock-doc-face)))) + `(eshell-ls-special ((t (:foreground ,color-8 :weight bold)))) + `(eshell-ls-symlink ((t (:foreground ,color-8 :weight bold)))) +;;;;; flx + `(flx-highlight-face ((t (:foreground ,color-8 :weight bold)))) +;;;;; flycheck + `(flycheck-error ((,class ,error-text))) + `(flycheck-warning ((,class ,warning-text))) + `(flycheck-info ((,class ,info-text))) + `(flycheck-info ((t (:underline (:color ,info))))) + `(flycheck-fringe-error ((t (:foreground ,error)))) + `(flycheck-error-list-error ((t (:foreground ,error)))) + `(flycheck-fringe-warning ((t (:foreground ,warning)))) + `(flycheck-error-list-warning ((t (:foreground ,warning)))) + `(flycheck-fringe-info ((t (:foreground ,info)))) + `(flycheck-error-list-info ((t (:foreground ,info)))) +;;;;; flymake + `(flymake-error ((,class ,error-text))) + `(flymake-warning ((,class ,warning-text))) + `(flymake-note ((,class ,info-text))) +;;;;; flyspell + `(flyspell-duplicate ((,class ,warning-text))) + `(flyspell-incorrect ((,class ,error-text))) +;;;;; erc + `(erc-action-face ((t (:inherit erc-default-face)))) + `(erc-bold-face ((t (:weight bold)))) + `(erc-current-nick-face ((t (:inverse-video t :weight bold)))) + `(erc-dangerous-host-face ((t (:inherit font-lock-warning-face)))) + `(erc-default-face ((t (:foreground ,color-8)))) + `(erc-direct-msg-face ((t (:inherit erc-default)))) + `(erc-error-face ((t (:inherit font-lock-warning-face)))) + `(erc-fool-face ((t (:inherit erc-default)))) + `(erc-highlight-face ((t (:inherit hover-highlight)))) + `(erc-input-face ((t (:foreground ,color-8)))) + `(erc-keyword-face ((t (:foreground ,color-8 :weight bold)))) + `(erc-nick-default-face ((t (:foreground ,color-8 :weight bold)))) + `(erc-my-nick-face ((t (:foreground ,color-7 :weight bold)))) + `(erc-nick-msg-face ((t (:inherit erc-default)))) + `(erc-notice-face ((t (:foreground ,color-6)))) + `(erc-pal-face ((t (:foreground ,color-8 :weight bold)))) + `(erc-prompt-face ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) + `(erc-timestamp-face ((t (:foreground ,color-8)))) + `(erc-underline-face ((t (:underline t)))) +;;;;; git-gutter + `(git-gutter:added ((t (:background ,color-1 :foreground ,color-1 :weight bold )))) + `(git-gutter:deleted ((t (:background ,color-1 :foreground ,color-1 :weight bold )))) + `(git-gutter:modified ((t (:background ,color-1 :foreground ,color-1 :weight bold )))) + `(git-gutter:unchanged ((t (:background ,color-1 :foreground ,color-1 :weight bold )))) +;;;;; git-gutter-fr + `(git-gutter-fr:added ((t (:foreground ,color-1 :weight bold)))) + `(git-gutter-fr:deleted ((t (:foreground ,color-1 :weight bold)))) + `(git-gutter-fr:modified ((t (:foreground ,color-1 :weight bold)))) +;;;;; gnus + `(gnus-group-mail-1 ((t (:bold t :inherit gnus-group-mail-1-empty)))) + `(gnus-group-mail-1-empty ((t (:inherit gnus-group-news-1-empty)))) + `(gnus-group-mail-2 ((t (:bold t :inherit gnus-group-mail-2-empty)))) + `(gnus-group-mail-2-empty ((t (:inherit gnus-group-news-2-empty)))) + `(gnus-group-mail-3 ((t (:bold t :inherit gnus-group-mail-3-empty)))) + `(gnus-group-mail-3-empty ((t (:inherit gnus-group-news-3-empty)))) + `(gnus-group-mail-4 ((t (:bold t :inherit gnus-group-mail-4-empty)))) + `(gnus-group-mail-4-empty ((t (:inherit gnus-group-news-4-empty)))) + `(gnus-group-mail-5 ((t (:bold t :inherit gnus-group-mail-5-empty)))) + `(gnus-group-mail-5-empty ((t (:inherit gnus-group-news-5-empty)))) + `(gnus-group-mail-6 ((t (:bold t :inherit gnus-group-mail-6-empty)))) + `(gnus-group-mail-6-empty ((t (:inherit gnus-group-news-6-empty)))) + `(gnus-group-mail-low ((t (:bold t :inherit gnus-group-mail-low-empty)))) + `(gnus-group-mail-low-empty ((t (:inherit gnus-group-news-low-empty)))) + `(gnus-group-news-1 ((t (:bold t :inherit gnus-group-news-1-empty)))) + `(gnus-group-news-2 ((t (:bold t :inherit gnus-group-news-2-empty)))) + `(gnus-group-news-3 ((t (:bold t :inherit gnus-group-news-3-empty)))) + `(gnus-group-news-4 ((t (:bold t :inherit gnus-group-news-4-empty)))) + `(gnus-group-news-5 ((t (:bold t :inherit gnus-group-news-5-empty)))) + `(gnus-group-news-6 ((t (:bold t :inherit gnus-group-news-6-empty)))) + `(gnus-group-news-low ((t (:bold t :inherit gnus-group-news-low-empty)))) + `(gnus-header-content ((t (:inherit message-header-other)))) + `(gnus-header-from ((t (:inherit message-header-from)))) + `(gnus-header-name ((t (:inherit message-header-name)))) + `(gnus-header-newsgroups ((t (:inherit message-header-other)))) + `(gnus-header-subject ((t (:inherit message-header-subject)))) + `(gnus-summary-cancelled ((t (:foreground ,color-8)))) + `(gnus-summary-high-ancient ((t (:foreground ,color-8)))) + `(gnus-summary-high-read ((t (:foreground ,color-6 :weight bold)))) + `(gnus-summary-high-ticked ((t (:foreground ,color-8 :weight bold)))) + `(gnus-summary-high-unread ((t (:foreground ,color-8 :weight bold)))) + `(gnus-summary-low-ancient ((t (:foreground ,color-8)))) + `(gnus-summary-low-read ((t (:foreground ,color-6)))) + `(gnus-summary-low-ticked ((t (:foreground ,color-8 :weight bold)))) + `(gnus-summary-low-unread ((t (:foreground ,color-8)))) + `(gnus-summary-normal-ancient ((t (:foreground ,color-8)))) + `(gnus-summary-normal-read ((t (:foreground ,color-6)))) + `(gnus-summary-normal-ticked ((t (:foreground ,color-8 :weight bold)))) + `(gnus-summary-normal-unread ((t (:foreground ,color-8)))) + `(gnus-summary-selected ((t (:foreground ,color-8 :weight bold)))) + `(gnus-cite-1 ((t (:foreground ,color-8)))) + `(gnus-cite-10 ((t (:foreground ,color-8)))) + `(gnus-cite-11 ((t (:foreground ,color-8)))) + `(gnus-cite-2 ((t (:foreground ,color-7)))) + `(gnus-cite-3 ((t (:foreground ,color-6)))) + `(gnus-cite-4 ((t (:foreground ,color-8)))) + `(gnus-cite-5 ((t (:foreground ,color-7)))) + `(gnus-cite-6 ((t (:foreground ,color-6)))) + `(gnus-cite-7 ((t (:foreground ,color-7)))) + `(gnus-cite-8 ((t (:foreground ,color-6)))) + `(gnus-cite-9 ((t (:foreground ,color-6)))) + `(gnus-group-news-1-empty ((t (:foreground ,color-8)))) + `(gnus-group-news-2-empty ((t (:foreground ,color-8)))) + `(gnus-group-news-3-empty ((t (:foreground ,color-7)))) + `(gnus-group-news-4-empty ((t (:foreground ,color-6)))) + `(gnus-group-news-5-empty ((t (:foreground ,color-5)))) + `(gnus-group-news-6-empty ((t (:foreground ,color-4)))) + `(gnus-group-news-low-empty ((t (:foreground ,color-4)))) + `(gnus-signature ((t (:foreground ,color-8)))) + `(gnus-x ((t (:background ,color-8 :foreground ,color-2)))) +;;;;; guide-key + `(guide-key/highlight-command-face ((t (:foreground ,color-8)))) + `(guide-key/key-face ((t (:foreground ,color-6)))) + `(guide-key/prefix-command-face ((t (:foreground ,color-7)))) +;;;;; helm + `(helm-header ((t (:foreground ,color-6 :background ,color-1 :underline nil :box nil)))) + `(helm-source-header ((t (:foreground ,color-8 :background ,color-1 :underline nil :weight bold :box (:line-width -1 :style released-button))))) + `(helm-selection ((t (:background ,color-3 :underline nil)))) + `(helm-selection-line ((t (:background ,color-3)))) + `(helm-visible-mark ((t (:foreground ,color-2 :background ,color-8)))) + `(helm-candidate-number ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-separator ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-time-zone-current ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-time-zone-home ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-bookmark-addressbook ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-bookmark-directory ((t (:foreground nil :background nil :inherit helm-ff-directory)))) + `(helm-bookmark-file ((t (:foreground nil :background nil :inherit helm-ff-file)))) + `(helm-bookmark-gnus ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-bookmark-info ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-bookmark-man ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-bookmark-w3m ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-buffer-not-saved ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-buffer-process ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-buffer-saved-out ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-buffer-size ((t (:foreground ,color-4 :background ,color-1)))) + `(helm-buffer-directory ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-lisp-completion-info ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-lisp-show-completion ((t (:foreground ,color-8 :background ,color-3)))) + `(helm-locate-finish ((t (:foreground ,color-5 :background ,color-1)))) + `(helm-dotted-symlink-directory ((t (:foreground ,color-4 :background ,color-2)))) + `(helm-ff-dotted-symlink-directory ((t (:foreground ,color-4 :background ,color-2)))) + `(helm-ff-directory ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) + `(helm-ff-file ((t (:foreground ,color-8 :background ,color-1 :weight normal)))) + `(helm-ff-executable ((t (:foreground ,color-8 :background ,color-1 :weight normal)))) + `(helm-ff-invalid-symlink ((t (:foreground ,color-7 :background ,color-1 :weight bold)))) + `(helm-ff-symlink ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) + `(helm-ff-prefix ((t (:foreground ,color-2 :background ,color-8 :weight normal)))) + `(helm-grep-cmd-line ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-grep-file ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-grep-finish ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-grep-lineno ((t (:foreground ,color-4 :background ,color-1)))) + `(helm-match ((t (:foreground ,color-8 :background ,color-2)))) + `(helm-grep-match ((t ( :inherit helm-match)))) + `(helm-grep-running ((t (:foreground ,color-7 :background ,color-1)))) + `(helm-moccur-buffer ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-mu-contacts-address-face ((t (:foreground ,color-4 :background ,color-1)))) + `(helm-mu-contacts-name-face ((t (:foreground ,color-8 :background ,color-1)))) + `(helm-M-x-key ((t (:foreground ,color-8 :background ,color-1 :weight bold)))) +;;;;; hl-line-mode FIXME Looks weird + `(hl-line ((t (:background ,color-2)))) + `(hl-line-face ((t (:background ,color-2)))) +;;;;; hl-sexp + `(hl-sexp-face ((,class (:background ,color-3)) (t :weight bold))) +;;;;; ido-mode + `(ido-first-match ((t (:foreground ,color-8 :weight bold)))) + `(ido-only-match ((t (:foreground ,color-8 :weight bold)))) + `(ido-subdir ((t (:foreground ,color-8)))) + `(ido-indicator ((t (:foreground ,color-8 :background ,color-4)))) +;;;;; iedit-mode + `(iedit-occurrence ((t (:background ,color-4 :weight bold)))) +;;;;; js2-mode + `(js2-warning ((t (:underline ,color-1)))) + `(js2-error ((t (:foreground ,color-7 :weight bold)))) + `(js2-jsdoc-tag ((t (:foreground ,color-5)))) + `(js2-jsdoc-type ((t (:foreground ,color-8)))) + `(js2-jsdoc-value ((t (:foreground ,color-8)))) + `(js2-jsdoc-html-tag-name ((t (:foreground ,color-8)))) + `(js2-jsdoc-html-tag-delimiter ((t (:foreground ,color-8)))) + `(js2-function-param ((t (:foreground ,color-8)))) + `(js2-function-call ((t (:foreground ,color-8 :underline t)))) + `(js2-object-property ((t (:foreground ,color-8 :slant italic)))) + `(js2-external-variable ((t (:foreground ,color-4)))) +;;;;; jabber-mode + `(jabber-roster-user-away ((t (:foreground ,color-8)))) + `(jabber-roster-user-online ((t (:foreground ,color-7)))) + `(jabber-roster-user-dnd ((t (:foreground ,color-8)))) + `(jabber-rare-time-face ((t (:foreground ,color-7)))) + `(jabber-chat-prompt-local ((t (:foreground ,color-7)))) + `(jabber-chat-prompt-foreign ((t (:foreground ,color-8)))) + `(jabber-activity-face ((t (:foreground ,color-8)))) + `(jabber-activity-personal-face ((t (:foreground ,color-8)))) + `(jabber-title-small ((t (:height ,(eziam--other-height 1.1) :weight bold)))) + `(jabber-title-medium ((t (:height ,(eziam--other-height 1.2) :weight bold)))) + `(jabber-title-medium ((t (:height ,(eziam--other-height 1.3) :weight bold)))) +;;;;; ledger-mode + `(ledger-font-payee-uncleared-face ((t (:foreground ,color-6 :weight bold)))) + `(ledger-font-payee-cleared-face ((t (:foreground ,color-8 :weight normal)))) + `(ledger-font-xact-highlight-face ((t (:background ,color-3)))) + `(ledger-font-pending-face ((t (:foreground ,color-8 :weight normal)))) + `(ledger-font-other-face ((t (:foreground ,color-8)))) + `(ledger-font-posting-account-face ((t (:foreground ,color-7)))) + `(ledger-font-posting-account-cleared-face ((t (:foreground ,color-8)))) + `(ledger-font-posting-account-pending-face ((t (:foreground ,color-8)))) + `(ledger-font-posting-amount-face ((t (:foreground ,color-8)))) + `(ledger-font-posting-account-pending-face ((t (:foreground ,color-8)))) + `(ledger-occur-narrowed-face ((t (:foreground ,color-4 :invisible t)))) + `(ledger-occur-xact-face ((t (:background ,color-3)))) + `(ledger-font-comment-face ((t (:foreground ,color-6)))) + `(ledger-font-reconciler-uncleared-face ((t (:foreground ,color-6 :weight bold)))) + `(ledger-font-reconciler-cleared-face ((t (:foreground ,color-8 :weight normal)))) + `(ledger-font-reconciler-pending-face ((t (:foreground ,color-8 :weight normal)))) + `(ledger-font-report-clickable-face ((t (:foreground ,color-8 :weight normal)))) +;;;;; macrostep + `(macrostep-gensym-1 ((t (:foreground ,color-8 :background ,color-1)))) + `(macrostep-gensym-2 ((t (:foreground ,color-8 :background ,color-1)))) + `(macrostep-gensym-3 ((t (:foreground ,color-8 :background ,color-1)))) + `(macrostep-gensym-4 ((t (:foreground ,color-7 :background ,color-1)))) + `(macrostep-gensym-5 ((t (:foreground ,color-8 :background ,color-1)))) + `(macrostep-expansion-highlight-face ((t (:inherit highlight)))) + `(macrostep-macro-face ((t (:underline t)))) +;;;;; magit + `(magit-section-highlight ((t (:inherit highlight :extend t)))) + `(magit-section-title ((t (:foreground ,color-8 :weight bold)))) + `(magit-branch ((t (:foreground ,color-8 :weight bold)))) + `(magit-item-highlight ((t (:inverse-video t)))) +;;;;; egg + `(egg-text-base ((t (:foreground ,color-8)))) + `(egg-help-header-1 ((t (:foreground ,color-8)))) + `(egg-help-header-2 ((t (:foreground ,color-8)))) + `(egg-branch ((t (:foreground ,color-8)))) + `(egg-branch-mono ((t (:foreground ,color-8)))) + `(egg-term ((t (:foreground ,color-8)))) + `(egg-diff-add ((t (:foreground ,color-8)))) + `(egg-diff-del ((t (:foreground ,color-8)))) + `(egg-diff-file-header ((t (:foreground ,color-8)))) + `(egg-section-title ((t (:foreground ,color-8)))) + `(egg-stash-mono ((t (:foreground ,color-8)))) +;;;;; message-mode + `(message-cited-text ((t (:inherit font-lock-comment-face)))) + `(message-header-name ((t (:foreground ,color-7)))) + `(message-header-other ((t (:foreground ,color-6)))) + `(message-header-to ((t (:foreground ,color-8 :weight bold)))) + `(message-header-from ((t (:foreground ,color-8 :weight bold)))) + `(message-header-cc ((t (:foreground ,color-8 :weight bold)))) + `(message-header-newsgroups ((t (:foreground ,color-8 :weight bold)))) + `(message-header-subject ((t (:foreground ,color-8 :weight bold)))) + `(message-header-xheader ((t (:foreground ,color-6)))) + `(message-mml ((t (:foreground ,color-8 :weight bold)))) + `(message-separator ((t (:inherit font-lock-comment-face)))) +;;;;; mew + `(mew-face-header-subject ((t (:foreground ,color-8)))) + `(mew-face-header-from ((t (:foreground ,color-8)))) + `(mew-face-header-date ((t (:foreground ,color-6)))) + `(mew-face-header-to ((t (:foreground ,color-7)))) + `(mew-face-header-key ((t (:foreground ,color-6)))) + `(mew-face-header-private ((t (:foreground ,color-6)))) + `(mew-face-header-important ((t (:foreground ,color-8)))) + `(mew-face-header-marginal ((t (:foreground ,color-8 :weight bold)))) + `(mew-face-header-warning ((t (:foreground ,color-7)))) + `(mew-face-header-xmew ((t (:foreground ,color-6)))) + `(mew-face-header-xmew-bad ((t (:foreground ,color-7)))) + `(mew-face-body-url ((t (:foreground ,color-8)))) + `(mew-face-body-comment ((t (:foreground ,color-8 :slant italic)))) + `(mew-face-body-cite1 ((t (:foreground ,color-6)))) + `(mew-face-body-cite2 ((t (:foreground ,color-8)))) + `(mew-face-body-cite3 ((t (:foreground ,color-8)))) + `(mew-face-body-cite4 ((t (:foreground ,color-8)))) + `(mew-face-body-cite5 ((t (:foreground ,color-7)))) + `(mew-face-mark-review ((t (:foreground ,color-8)))) + `(mew-face-mark-escape ((t (:foreground ,color-6)))) + `(mew-face-mark-delete ((t (:foreground ,color-7)))) + `(mew-face-mark-unlink ((t (:foreground ,color-8)))) + `(mew-face-mark-refile ((t (:foreground ,color-6)))) + `(mew-face-mark-unread ((t (:foreground ,color-6)))) + `(mew-face-eof-message ((t (:foreground ,color-6)))) + `(mew-face-eof-part ((t (:foreground ,color-8)))) +;;;;; mic-paren + `(paren-face-match ((t (:foreground ,color-8 :background ,color-1)))) + `(paren-face-mismatch ((t (:foreground ,color-1 :background ,color-1)))) + `(paren-face-no-match ((t (:foreground ,color-3 :background ,color-1)))) +;;;;; mingus + `(mingus-directory-face ((t (:foreground ,color-8)))) + `(mingus-pausing-face ((t (:foreground ,color-7)))) + `(mingus-playing-face ((t (:foreground ,color-8)))) + `(mingus-playlist-face ((t (:foreground ,color-8 )))) + `(mingus-song-file-face ((t (:foreground ,color-8)))) + `(mingus-stopped-face ((t (:foreground ,color-7)))) +;;;;; nav + `(nav-face-heading ((t (:foreground ,color-8)))) + `(nav-face-button-num ((t (:foreground ,color-8)))) + `(nav-face-dir ((t (:foreground ,color-6)))) + `(nav-face-hdir ((t (:foreground ,color-7)))) + `(nav-face-file ((t (:foreground ,color-8)))) + `(nav-face-hfile ((t (:foreground ,color-4)))) +;;;;; mu4e + `(mu4e-title-face ((t (:foreground ,color-8 :weight bold)))) + `(mu4e-header-highlight-face ((t (:inherit highlight :extend t)))) + `(mu4e-cited-1-face ((t (:foreground ,color-8 :slant italic)))) + `(mu4e-cited-2-face ((t (:foreground ,color-8 :slant italic)))) + `(mu4e-cited-3-face ((t (:foreground ,color-6 :slant italic)))) + `(mu4e-cited-4-face ((t (:foreground ,color-6 :slant italic)))) + `(mu4e-cited-5-face ((t (:foreground ,color-4 :slant italic)))) + `(mu4e-cited-6-face ((t (:foreground ,color-5 :slant italic)))) + `(mu4e-cited-7-face ((t (:foreground ,color-8 :slant italic)))) + `(mu4e-unread-face ((t (:background ,color-0 :weight bold :extend t)))) + `(mu4e-replied-face ((t (:foreground ,color-6 :slant italic)))) + `(mu4e-trashed-face ((t (:foreground ,color-5 :strike-through t)))) + `(mu4e-flagged-face ((t (:foreground ,info)))) + `(mu4e-ok-face ((t (:foreground ,ok :weight bold)))) + `(mu4e-warning-face ((t (:foreground ,warning :weight bold)))) +;;;;; mumamo + `(mumamo-background-chunk-major ((t (:background nil)))) + `(mumamo-background-chunk-submode1 ((t (:background ,color-1)))) + `(mumamo-background-chunk-submode2 ((t (:background ,color-4)))) + `(mumamo-background-chunk-submode3 ((t (:background ,color-5)))) + `(mumamo-background-chunk-submode4 ((t (:background ,color-3)))) +;;;;; org-mode + `(org-agenda-date-today ((t (:foreground ,color-8 :slant italic :weight bold))) t) + `(org-agenda-structure ((t (:inherit font-lock-comment-face)))) + `(org-archived ((t (:foreground ,color-8 :weight bold)))) + `(org-checkbox ((t (:background ,color-4 :foreground ,color-8 :box (:line-width 1 :style released-button))))) + `(org-code ((t (:background ,color-2 :box ,color-3)))) + `(org-verbatim ((t (:background ,color-2 :box ,color-3)))) + `(org-date ((t (:foreground ,color-8 :underline t)))) + `(org-deadline-announce ((t (:foreground ,color-6)))) + `(org-formula ((t (:foreground ,color-5)))) + `(org-headline-done ((t (:foreground ,color-8)))) + `(org-hide ((t (:foreground ,color-1)))) + `(org-document-title ((t (:foreground ,color-8 :height ,(eziam--other-height 1.9) :bold t)))) + `(org-document-info ((t (:inherit default)))) + `(org-document-info-keyword ((t (:foreground ,color-6 :weight bold :underline t)))) + `(org-level-1 ((t ,,(eziam--heading-face-form 'org-heading-style 1)))) + `(org-level-2 ((t ,,(eziam--heading-face-form 'org-heading-style 2)))) + `(org-level-3 ((t ,,(eziam--heading-face-form 'org-heading-style 3)))) + `(org-level-4 ((t ,,(eziam--heading-face-form 'org-heading-style 4)))) + `(org-level-5 ((t ,,(eziam--heading-face-form 'org-heading-style 5)))) + `(org-level-6 ((t ,,(eziam--heading-face-form 'org-heading-style 6)))) + `(org-level-7 ((t ,,(eziam--heading-face-form 'org-heading-style 7)))) + `(org-level-8 ((t ,,(eziam--heading-face-form 'org-heading-style 8)))) + `(org-link ((t (:foreground ,color-8 :underline t)))) + `(org-list-dt ((t (:weight bold)))) + `(org-property-value ((t (:foreground ,color-5 :slant italic)))) + `(org-priority ((t (:background ,color-2)))) + `(org-scheduled ((t (:foreground ,color-8)))) + `(org-scheduled-previously ((t (:foreground ,color-7)))) + `(org-scheduled-today ((t (:foreground ,color-8 :inherit highlight)))) + `(org-sexp-date ((t (:foreground ,color-8 :underline t)))) + `(org-special-keyword ((t (:foreground ,color-5)))) + `(org-table ((t (:foreground ,color-8)))) + `(org-tag ((t (:foreground ,color-4 :distant-foreground ,color-0)))) + `(org-target ((t (:foreground ,color-4)))) + `(org-time-grid ((t (:foreground ,color-8)))) + `(org-done ((t (:bold t :background ,color-4 :foreground ,color-8 :weight bold)))) + `(org-todo ((t (:bold t :inverse-video t)))) + `(org-upcoming-deadline ((t (:slant italic)))) + `(org-warning ((t (:foreground ,color-7 :underline t)))) + `(org-column ((t (:background ,color-1)))) + `(org-column-title ((t (:background ,color-1 :underline t :weight bold)))) + `(org-mode-line-clock ((t (:foreground ,color-8 :background ,color-1)))) + `(org-mode-line-clock-overrun ((t (:foreground ,color-2 :background ,color-6)))) + `(org-ellipsis ((t (:foreground ,color-1 :distant-foreground ,color-7 :underline nil :box nil)))) + `(org-footnote ((t (:foreground ,color-8 :underline t)))) + `(org-meta-line ((t (:foreground ,color-5)))) + ;; I believe the difference between org-block-background and + ;; org-block is that org 8.x uses the former, 9.x the latter. Both + ;; should then be identical. + `(org-block-background ((t (:background ,color-0)))) + `(org-block ((t (:background ,color-0 :extend t)))) + `(org-block-begin-line ((t (:foreground ,color-6 :background ,color-3 :extend t)))) + `(org-block-end-line ((t (:foreground ,color-6 :background ,color-3 :extend t)))) +;;;;; outline + `(outline-1 ((t ,,(eziam--heading-face-form 'outline-heading-style 1)))) + `(outline-2 ((t ,,(eziam--heading-face-form 'outline-heading-style 2)))) + `(outline-3 ((t ,,(eziam--heading-face-form 'outline-heading-style 3)))) + `(outline-4 ((t ,,(eziam--heading-face-form 'outline-heading-style 4)))) + `(outline-5 ((t ,,(eziam--heading-face-form 'outline-heading-style 5)))) + `(outline-6 ((t ,,(eziam--heading-face-form 'outline-heading-style 6)))) + `(outline-7 ((t ,,(eziam--heading-face-form 'outline-heading-style 7)))) + `(outline-8 ((t ,,(eziam--heading-face-form 'outline-heading-style 8)))) +;;;;; outshine + `(outshine-1 ((t ,,(eziam--heading-face-form 'outshine-heading-style 1)))) + `(outshine-2 ((t ,,(eziam--heading-face-form 'outshine-heading-style 2)))) + `(outshine-3 ((t ,,(eziam--heading-face-form 'outshine-heading-style 3)))) + `(outshine-4 ((t ,,(eziam--heading-face-form 'outshine-heading-style 4)))) + `(outshine-5 ((t ,,(eziam--heading-face-form 'outshine-heading-style 5)))) + `(outshine-6 ((t ,,(eziam--heading-face-form 'outshine-heading-style 6)))) + `(outshine-7 ((t ,,(eziam--heading-face-form 'outshine-heading-style 7)))) + `(outshine-8 ((t ,,(eziam--heading-face-form 'outshine-heading-style 8)))) +;;;;; p4 + `(p4-depot-added-face ((t :inherit diff-added))) + `(p4-depot-branch-op-face ((t :inherit diff-changed))) + `(p4-depot-deleted-face ((t :inherit diff-removed))) + `(p4-depot-unmapped-face ((t :inherit diff-changed))) + `(p4-diff-change-face ((t :inherit diff-changed))) + `(p4-diff-del-face ((t :inherit diff-removed))) + `(p4-diff-file-face ((t :inherit diff-file-header))) + `(p4-diff-head-face ((t :inherit diff-header))) + `(p4-diff-ins-face ((t :inherit diff-added))) +;;;;; perspective + `(persp-selected-face ((t (:foreground ,color-8 :inherit mode-line)))) +;;;;; powerline + `(powerline-active1 ((t (:background ,color-3 :foreground ,color-8 :box nil :inherit mode-line )))) + `(powerline-active2 ((t (:background ,color-1 :foreground ,color-5 :box nil :inherit mode-line )))) + `(powerline-inactive1 ((t (:background ,color-1 :foreground ,color-3 :inherit mode-line-inactive)))) + `(powerline-inactive2 ((t (:background ,color-1 :foreground ,color-4 :inherit mode-line-inactive)))) +;;;;; proofgeneral + `(proof-active-area-face ((t (:underline t)))) + `(proof-boring-face ((t (:foreground ,color-8 :background ,color-4)))) + `(proof-command-mouse-highlight-face ((t (:inherit proof-mouse-highlight-face)))) + `(proof-debug-message-face ((t (:inherit proof-boring-face)))) + `(proof-declaration-name-face ((t (:inherit font-lock-keyword-face :foreground nil)))) + `(proof-eager-annotation-face ((t (:foreground ,color-2 :background ,color-8)))) + `(proof-error-face ((t (:foreground ,color-8 :background ,color-4)))) + `(proof-highlight-dependency-face ((t (:foreground ,color-2 :background ,color-8)))) + `(proof-highlight-dependent-face ((t (:foreground ,color-2 :background ,color-8)))) + `(proof-locked-face ((t (:background ,color-3)))) + `(proof-mouse-highlight-face ((t (:foreground ,color-2 :background ,color-8)))) + `(proof-queue-face ((t (:background ,color-4)))) + `(proof-region-mouse-highlight-face ((t (:inherit proof-mouse-highlight-face)))) + `(proof-script-highlight-error-face ((t (:background ,color-6)))) + `(proof-tacticals-name-face ((t (:inherit font-lock-constant-face :foreground nil :background ,color-1)))) + `(proof-tactics-name-face ((t (:inherit font-lock-constant-face :foreground nil :background ,color-1)))) + `(proof-warning-face ((t (:foreground ,color-2 :background ,color-8)))) +;;;;; rainbow-delimiters + `(rainbow-delimiters-depth-1-face ((t (:foreground ,rainbow-1 :bold t)))) + `(rainbow-delimiters-depth-2-face ((t (:foreground ,rainbow-4 :bold t)))) + `(rainbow-delimiters-depth-3-face ((t (:foreground ,rainbow-2 :bold t)))) + `(rainbow-delimiters-depth-4-face ((t (:foreground ,rainbow-5 :bold t)))) + `(rainbow-delimiters-depth-5-face ((t (:foreground ,rainbow-3 :bold t)))) + `(rainbow-delimiters-depth-6-face ((t (:foreground ,rainbow-6 :bold t)))) + `(rainbow-delimiters-depth-7-face ((t (:foreground ,rainbow-1 :bold t)))) + `(rainbow-delimiters-depth-8-face ((t (:foreground ,rainbow-4 :bold t)))) + `(rainbow-delimiters-depth-9-face ((t (:foreground ,rainbow-2 :bold t)))) + `(rainbow-delimiters-depth-10-face ((t (:foreground ,rainbow-5 :bold t)))) + `(rainbow-delimiters-depth-11-face ((t (:foreground ,rainbow-3 :bold t)))) + `(rainbow-delimiters-depth-12-face ((t (:foreground ,rainbow-6 :bold t)))) +;;;;; rcirc + `(rcirc-my-nick ((t (:foreground ,color-8)))) + `(rcirc-other-nick ((t (:foreground ,color-8)))) + `(rcirc-bright-nick ((t (:foreground ,color-8)))) + `(rcirc-dim-nick ((t (:foreground ,color-6)))) + `(rcirc-server ((t (:foreground ,color-6)))) + `(rcirc-server-prefix ((t (:foreground ,color-7)))) + `(rcirc-timestamp ((t (:foreground ,color-8)))) + `(rcirc-nick-in-message ((t (:foreground ,color-8)))) + `(rcirc-nick-in-message-full-line ((t (:bold t)))) + `(rcirc-prompt ((t (:foreground ,color-8 :bold t)))) + `(rcirc-track-nick ((t (:inverse-video t)))) + `(rcirc-track-keyword ((t (:bold t)))) + `(rcirc-url ((t (:bold t)))) + `(rcirc-keyword ((t (:foreground ,color-8 :bold t)))) +;;;;; rpm-mode + `(rpm-spec-dir-face ((t (:foreground ,color-6)))) + `(rpm-spec-doc-face ((t (:foreground ,color-6)))) + `(rpm-spec-ghost-face ((t (:foreground ,color-7)))) + `(rpm-spec-macro-face ((t (:foreground ,color-8)))) + `(rpm-spec-obsolete-tag-face ((t (:foreground ,color-7)))) + `(rpm-spec-package-face ((t (:foreground ,color-7)))) + `(rpm-spec-section-face ((t (:foreground ,color-8)))) + `(rpm-spec-tag-face ((t (:foreground ,color-8)))) + `(rpm-spec-var-face ((t (:foreground ,color-7)))) +;;;;; rst-mode + `(rst-level-1-face ((t (:foreground ,color-8)))) + `(rst-level-2-face ((t (:foreground ,color-7)))) + `(rst-level-3-face ((t (:foreground ,color-7)))) + `(rst-level-4-face ((t (:foreground ,color-8)))) + `(rst-level-5-face ((t (:foreground ,color-8)))) + `(rst-level-6-face ((t (:foreground ,color-5)))) +;;;;; sh-mode + `(sh-heredoc ((t (:foreground ,color-8 :bold t)))) + `(sh-quoted-exec ((t (:foreground ,color-7)))) + `(show-paren-mismatch ((t (:foreground ,color-1 :background ,color-4 :weight bold)))) +;;;;; smartparens + `(sp-show-pair-mismatch-face ((t (:foreground ,error :background ,color-1)))) + `(sp-show-pair-match-face ((t (:foreground ,info :background ,color-0)))) +;;;;; show-paren + `(show-paren-match ((t (:inherit sp-show-pair-match-face)))) + `(show-paren-mismatch ((t (:inherit sp-show-pair-mismatch-face)))) +;;;;; sml-mode-line + `(sml-modeline-end-face ((t :inherit default :width condensed))) +;;;;; SLIME + `(slime-repl-output-face ((t (:foreground ,color-7)))) + `(slime-repl-inputed-output-face ((t (:foreground ,color-6)))) + `(slime-error-face ((((supports :underline (:style wave))) (:underline (:style wave :color ,color-7))) (t (:underline ,color-7)))) + `(slime-warning-face ((((supports :underline (:style wave))) (:underline (:style wave :color ,color-8))) (t (:underline ,color-8)))) + `(slime-style-warning-face ((((supports :underline (:style wave))) (:underline (:style wave :color ,color-8))) (t (:underline ,color-8)))) + `(slime-note-face ((((supports :underline (:style wave))) (:underline (:style wave :color ,color-6))) (t (:underline ,color-6)))) + `(slime-highlight-face ((t (:inherit highlight)))) +;;;;; speedbar + `(speedbar-button-face ((t (:foreground ,color-8)))) + `(speedbar-directory-face ((t (:foreground ,color-8)))) + `(speedbar-file-face ((t (:foreground ,color-8)))) + `(speedbar-highlight-face ((t (:foreground ,color-2 :background ,color-8)))) + `(speedbar-selected-face ((t (:foreground ,color-7)))) + `(speedbar-separator-face ((t (:foreground ,color-2 :background ,color-7)))) + `(speedbar-tag-face ((t (:foreground ,color-8)))) +;;;;; tabbar + `(tabbar-button ((t (:foreground ,color-8 :background ,color-1)))) + `(tabbar-selected ((t (:foreground ,color-8 :background ,color-1 :box (:line-width -1 :style pressed-button))))) + `(tabbar-unselected ((t (:foreground ,color-8 :background ,color-3 :box (:line-width -1 :style released-button))))) +;;;;; term + `(term-color-black ((t (:foreground ,color-2 :background ,color-1)))) + `(term-color-red ((t (:foreground ,color-6 :background ,color-4)))) + `(term-color-green ((t (:foreground ,color-6 :background ,color-8)))) + `(term-color-yellow ((t (:foreground ,color-8 :background ,color-8)))) + `(term-color-blue ((t (:foreground ,color-7 :background ,color-4)))) + `(term-color-magenta ((t (:foreground ,color-7 :background ,color-7)))) + `(term-color-cyan ((t (:foreground ,color-8 :background ,color-8)))) + `(term-color-white ((t (:foreground ,color-8 :background ,color-4)))) + '(term-default-fg-color ((t (:inherit term-color-white)))) + '(term-default-bg-color ((t (:inherit term-color-black)))) +;;;;; undo-tree + `(undo-tree-visualizer-active-branch-face ((t (:foreground ,color-8 :weight bold)))) + `(undo-tree-visualizer-current-face ((t (:foreground ,color-6 :weight bold)))) + `(undo-tree-visualizer-default-face ((t (:foreground ,color-8)))) + `(undo-tree-visualizer-register-face ((t (:foreground ,color-8)))) + `(undo-tree-visualizer-unmodified-face ((t (:foreground ,color-8)))) +;;;;; volatile-highlights + `(vhl/default-face ((t (:background ,color-1)))) +;;;;; emacs-w3m + `(w3m-anchor ((t (:foreground ,color-8 :background ,color-1 :underline t :weight normal)))) + `(w3m-current-anchor ((t (:foreground ,color-8 :background ,color-1 :underline nil :weight bold)))) + `(w3m-arrived-anchor-face ((t (:foreground ,color-4 :background ,color-2 :underline t :weight normal)))) + `(w3m-image-anchor-face ((t (:foreground ,color-7 :background ,color-2 :underline t :weight normal)))) + `(w3m-image-face ((t (:foreground ,color-8 :background ,color-2 :underline t :weight normal)))) + `(w3m-image-anchor ((t (:foreground ,color-8 :background ,color-2 :underline t :weight normal)))) + `(w3m-form ((t (:foreground ,color-6 :underline t)))) + `(w3m-header-line-location-title ((t (:foreground ,color-4 :background ,color-2 :underline nil :weight normal)))) + `(w3m-header-line-location-content ((t (:foreground ,color-8 :background ,color-2 :underline nil :weight normal)))) + `(w3m-history-current-url ((t (:inherit match)))) + `(w3m-tab-background ((t (:foreground ,color-1 :background ,color-6 :underline nil :weight normal))) ) + `(w3m-tab-unselected-retrieving ((t (:foreground ,color-1 :background ,color-6 :underline nil :weight normal))) ) + `(w3m-tab-selected-background-face ((t (:foreground ,color-1 :background ,color-8 :underline nil :weight bold))) ) + `(w3m-tab-selected-retrieving ((t (:foreground ,color-1 :background ,color-8 :underline nil :weight bold))) ) + `(w3m-lnum ((t (:foreground ,color-8 :background ,color-1)))) + `(w3m-lnum-match ((t (:background ,color-1 :foreground ,color-8 :weight bold)))) + `(w3m-lnum-minibuffer-prompt ((t (:foreground ,color-8)))) +;;;;; web-mode + `(web-mode-builtin-face ((t (:inherit ,font-lock-builtin-face)))) + `(web-mode-comment-face ((t (:inherit ,font-lock-comment-face)))) + `(web-mode-constant-face ((t (:inherit ,font-lock-constant-face)))) + `(web-mode-css-at-rule-face ((t (:foreground ,color-8 )))) + `(web-mode-css-prop-face ((t (:foreground ,color-8)))) + `(web-mode-css-pseudo-class-face ((t (:foreground ,color-8 :weight bold)))) + `(web-mode-css-rule-face ((t (:foreground ,color-8)))) + `(web-mode-doctype-face ((t (:inherit ,font-lock-comment-face)))) + `(web-mode-folded-face ((t (:underline t)))) + `(web-mode-function-name-face ((t (:foreground ,color-8)))) + `(web-mode-html-attr-name-face ((t (:foreground ,color-8)))) + `(web-mode-html-attr-value-face ((t (:inherit ,font-lock-string-face)))) + `(web-mode-html-tag-face ((t (:foreground ,color-8)))) + `(web-mode-keyword-face ((t (:inherit ,font-lock-keyword-face)))) + `(web-mode-preprocessor-face ((t (:inherit ,font-lock-preprocessor-face)))) + `(web-mode-string-face ((t (:inherit ,font-lock-string-face)))) + `(web-mode-type-face ((t (:inherit ,font-lock-type-face)))) + `(web-mode-variable-name-face ((t (:inherit ,font-lock-variable-name-face)))) + `(web-mode-server-background-face ((t (:background ,color-1)))) + `(web-mode-server-comment-face ((t (:inherit web-mode-comment-face)))) + `(web-mode-server-string-face ((t (:inherit web-mode-string-face)))) + `(web-mode-symbol-face ((t (:inherit font-lock-constant-face)))) + `(web-mode-warning-face ((t (:inherit font-lock-warning-face)))) + `(web-mode-whitespaces-face ((t (:background ,color-7)))) +;;;;; whitespace-mode + `(whitespace-space ((t (:background ,color-3 :foreground ,color-3)))) + `(whitespace-hspace ((t (:background ,color-3 :foreground ,color-3)))) + `(whitespace-tab ((t (:background ,color-6)))) + `(whitespace-newline ((t (:foreground ,color-3)))) + `(whitespace-trailing ((t (:background ,color-7)))) + `(whitespace-line ((t (:background ,color-1 :foreground ,color-7)))) + `(whitespace-space-before-tab ((t (:background ,color-8 :foreground ,color-8)))) + `(whitespace-indentation ((t (:background ,color-8 :foreground ,color-7)))) + `(whitespace-empty ((t (:background ,color-8)))) + `(whitespace-space-after-tab ((t (:background ,color-8 :foreground ,color-7)))) +;;;;; wanderlust + `(wl-highlight-folder-few-face ((t (:foreground ,color-6)))) + `(wl-highlight-folder-many-face ((t (:foreground ,color-6)))) + `(wl-highlight-folder-path-face ((t (:foreground ,color-8)))) + `(wl-highlight-folder-unread-face ((t (:foreground ,color-8)))) + `(wl-highlight-folder-zero-face ((t (:foreground ,color-8)))) + `(wl-highlight-folder-unknown-face ((t (:foreground ,color-8)))) + `(wl-highlight-message-citation-header ((t (:foreground ,color-6)))) + `(wl-highlight-message-cited-text-1 ((t (:foreground ,color-7)))) + `(wl-highlight-message-cited-text-2 ((t (:foreground ,color-8)))) + `(wl-highlight-message-cited-text-3 ((t (:foreground ,color-8)))) + `(wl-highlight-message-cited-text-4 ((t (:foreground ,color-8)))) + `(wl-highlight-message-header-contents-face ((t (:foreground ,color-6)))) + `(wl-highlight-message-headers-face ((t (:foreground ,color-8)))) + `(wl-highlight-message-important-header-contents ((t (:foreground ,color-8)))) + `(wl-highlight-message-header-contents ((t (:foreground ,color-7)))) + `(wl-highlight-message-important-header-contents2 ((t (:foreground ,color-8)))) + `(wl-highlight-message-signature ((t (:foreground ,color-6)))) + `(wl-highlight-message-unimportant-header-contents ((t (:foreground ,color-8)))) + `(wl-highlight-summary-answered-face ((t (:foreground ,color-8)))) + `(wl-highlight-summary-disposed-face ((t (:foreground ,color-8 :slant italic)))) + `(wl-highlight-summary-new-face ((t (:foreground ,color-8)))) + `(wl-highlight-summary-normal-face ((t (:foreground ,color-8)))) + `(wl-highlight-summary-thread-top-face ((t (:foreground ,color-8)))) + `(wl-highlight-thread-indent-face ((t (:foreground ,color-7)))) + `(wl-highlight-summary-refiled-face ((t (:foreground ,color-8)))) + `(wl-highlight-summary-displaying-face ((t (:underline t :weight bold)))) +;;;;; which-func-mode + `(which-func ((t (:foreground ,color-8)))) +;;;;; yascroll + `(yascroll:thumb-text-area ((t (:background ,color-1)))) + `(yascroll:thumb-fringe ((t (:background ,color-1 :foreground ,color-1)))) + `(minimap-active-region-background ((t (:background ,color-3 :foreground ,color-4)))) +;;;;; html fold/unfold face + `(html-fold-unfolded-face ((t (:background ,color-1)))) + `(html-fold-folded-face ((t (:foreground ,color-8 :bold t)))) +;;;;; Markdown mode + `(markdown-header-delimiter-face ((t (:weight normal :foreground ,color-3)))) + ;; ;; outline + `(markdown-header-face-1 ((t ,,(eziam--heading-face-form 'markdown-heading-style 1)))) + `(markdown-header-face-2 ((t ,,(eziam--heading-face-form 'markdown-heading-style 2)))) + `(markdown-header-face-3 ((t ,,(eziam--heading-face-form 'markdown-heading-style 3)))) + `(markdown-header-face-4 ((t ,,(eziam--heading-face-form 'markdown-heading-style 4)))) + `(markdown-header-face-5 ((t ,,(eziam--heading-face-form 'markdown-heading-style 5)))) + `(markdown-header-face-6 ((t ,,(eziam--heading-face-form 'markdown-heading-style 6)))) + `(markdown-link-face ((t (:underline t :foreground ,color-8)))) + `(markdown-url-face ((t (:underline t :foreground ,color-8)))) + `(markdown-pre-face ((t (:foreground ,color-8)))) + `(markdown-bold-face ((t (:foreground ,color-5 :bold t )))) + `(markdown-italic-face ((t (:foreground ,color-5 :italic t )))) + `(markdown-list-face ((t (:foreground ,color-8)))) + `(markdown-markup-face ((t (:foreground ,color-3 )))) +;;;;; swoop + `(swoop-face-line-buffer-name ((t (:background ,color-6 :foreground ,color-1)))) + `(swoop-face-target-line ((t (:background ,color-4 :foreground ,color-8)))) + `(swoop-face-line-number ((t (:background ,color-1 :foreground ,color-3)))) + `(swoop-face-header-format-line ((t (:background ,color-3 :foreground ,color-1)))) + `(swoop-face-target-words ((t (:background ,color-3 :foreground ,color-8)))) + `(highlight-indentation-face ((t (:background ,color-2)))) + `(highlight-indentation-current-column-face ((t (:background ,color-1)))) +;;;;; company + `(company-echo-common ((t (:foreground ,color-8)))) + `(company-preview ((t (:background ,color-3 :foreground ,color-8)))) + `(company-preview-common ((t (:inherit company-preview :foreground ,color-8 :weight bold)))) + `(company-scrollbar-fg ((t (:background ,color-4)))) + `(company-tooltip ((t (:background ,color-3 :foreground ,color-8)))) + `(company-tooltip-annotation ((t (:inherit company-tooltip :foreground ,color-1)))) + `(company-tooltip-common ((t (:inherit company-tooltip :foreground ,color-8)))) + `(company-tooltip-common-selection ((t (:inherit company-tooltip-selection :foreground ,color-8)))) + `(company-tooltip-selection ((t (:inherit company-tooltip :background ,color-5 :foreground ,color-1)))) + `(company-scrollbar-bg ((t (:inherit company-tooltip)))) +;;;;; eval-sexp-fu + `(eval-sexp-fu-flash ((t (:background ,color-2)))) + `(eval-sexp-fu-flash-error ((t (:background ,color-8 :foreground ,color-1)))) +;;;;; neotree + `(neo-dir-link-face ((t (:inherit diredp-dir-priv)))) + `(neo-expand-btn-face ((t (:foreground ,color-8 :bold t)))) + `(neo-file-link-face ((t (:foreground ,color-6)))) + `(neo-root-dir-face ((t (:foreground ,color-5 :background ,color-1)))) +;;;;; geiser + `(geiser-font-lock-doc-link ((t (:foreground ,color-8 :underline t)))) + `(geiser-font-lock-error-link ((t (:foreground ,color-8 :underline t)))) + `(geiser-font-lock-autodoc-identifier ((t (:foreground ,color-5 :bold t)))) + `(compilation-error ((t (:foreground ,color-8 :underline t :bold t)))) +;;;;; elixir + `(elixir-atom-face ((t (:foreground ,color-8 :bold t)))) +;;;;; tuareg + `(tuareg-font-lock-operator-face ((t (:inherit ,font-lock-variable-name-face)))) + `(tuareg-font-lock-governing-face ((t (:inherit ,font-lock-keyword-face)))) +;;;;; avy + `(avy-lead-face ((t (:background ,color-5 :foreground ,color-1 :bold t)))) + `(avy-lead-face-0 ((t (:background ,color-6 :foreground ,color-1 :bold t)))) + `(avy-lead-face-1 ((t (:background ,color-7 :foreground ,color-1 :bold t)))) + `(avy-lead-face-2 ((t (:background ,color-8 :foreground ,color-1 :bold t)))) + `(avy-background-face ((t (:background ,color-1 :foreground ,color-4 :bold t)))) +;;;;; calfw + `(cfw:face-title ((t (:height ,(eziam--heading-height 2.5) :foreground ,color-5 :weight bold)))) + `(cfw:face-grid ((t (:foreground ,color-5)))) + `(cfw:face-day-title ((t (:foreground ,color-5)))) + `(cfw:face-header ((t (:foreground ,color-6 :background ,color-2 :weight bold)))) + `(cfw:face-saturday ((t (:inherit 'cfw:face-header)))) + `(cfw:face-sunday ((t (:inherit 'cfw:face-header)))) + `(cfw:face-holiday ((t (:foreground ,color-5 :slant italic)))) + `(cfw:face-today ((t (:background ,color-0)))) + `(cfw:face-today-title ((t (:background ,color-0 :foreground ,color-8)))) + `(cfw:face-select ((t :inherit highlight))) + `(cfw:face-toolbar ((t (:background ,color-1)))) + `(cfw:face-toolbar-button-on ((,class ,button-on))) + `(cfw:face-toolbar-button-off ((,class ,button-off))) +;;;;; highlight-indent-guides + ;; …has been removed: newer versions automatically compute faces. +;;;;; (end) + ) + +;;;; Variables + + (custom-theme-set-variables + ,theme-name +;;;;; pdf-tools midnight-mode + `(pdf-view-midnight-colors ,(if (string-lessp color-8 color-1) + `(quote (,color-0 . ,color-8)) + `(quote (,color-8 . ,color-0)))) +;;;;; ansi-color + `(ansi-color-names-vector [,color-2 + ,color-7 + ,color-6 + ,color-8 + ,color-8 + ,color-7 + ,color-8 + ,color-8]) +;;;;; fill-column-indicator + `(fci-rule-color ,color-1 +;;;;; vc-annotate + `(vc-annotate-color-map + '(( 20. . ,color-4) + ( 40. . ,color-5) + ( 60. . ,color-5) + ( 80. . ,color-6) + (100. . ,color-6) + (120. . ,color-7) + (140. . ,color-7) + (160. . ,color-8) + (180. . ,color-8) + (200. . ,color-8) + (220. . ,color-8) + (240. . ,color-8) + (260. . ,color-8) + (280. . ,color-8) + (300. . ,color-8) + (320. . ,color-8) + (340. . ,color-8) + (360. . ,color-8)))) + ;; `(vc-annotate-very-old-color ,color-7) + `(vc-annotate-background ,color-1)) + )) + +(provide 'eziam-themes) +;;; eziam-themes.el ends here blob - /dev/null blob + 47acc35da43cf92096cb7acbffa1194853bb477e (mode 644) --- /dev/null +++ themes/punpun/punpun-dark-theme.el @@ -0,0 +1,36 @@ +;;; punpun-dark-theme.el --- Dark punpun theme + +;; Copyright (C) 2016 Vasilij Schneidermann + +;; Author: Vasilij Schneidermann +;; URL: https://depp.brause.cc/punpun-themes + +;; This file is NOT part of GNU Emacs. + +;; This file 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, or (at your option) +;; any later version. + +;; This file 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. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Code: + +(require 'punpun-themes) + +(deftheme punpun-dark "A bleak theme (dark version)") + +(punpun-set-faces 'punpun-dark t) + +(provide-theme 'punpun-dark) +;;; punpun-dark-theme.el ends here blob - /dev/null blob + 51118febe547da4966144c605aeae51a739dc342 (mode 644) --- /dev/null +++ themes/punpun/punpun-light-theme.el @@ -0,0 +1,36 @@ +;;; punpun-light-theme.el --- Light punpun theme + +;; Copyright (C) 2016 Vasilij Schneidermann + +;; Author: Vasilij Schneidermann +;; URL: https://depp.brause.cc/punpun-themes + +;; This file is NOT part of GNU Emacs. + +;; This file 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, or (at your option) +;; any later version. + +;; This file 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. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Code: + +(require 'punpun-themes) + +(deftheme punpun-light "A bleak theme (light version)") + +(punpun-set-faces 'punpun-light nil) + +(provide-theme 'punpun-light) +;;; punpun-dark-theme.el ends here blob - /dev/null blob + ff2aa7e272e41101b2d388cc5ecb9ad5c372c44e (mode 644) --- /dev/null +++ themes/punpun/punpun-themes.el @@ -0,0 +1,430 @@ +;;; punpun-themes.el --- Common color definitions for punpun themes + +;; Copyright (C) 2016 Vasilij Schneidermann +;; Version: 0.0.3 +;; Package-Requires: ((emacs "24.1")) +;; Keywords: themes, faces +;; Author: Vasilij Schneidermann +;; URL: https://depp.brause.cc/punpun-themes + +;; This file is NOT part of GNU Emacs. + +;; This file 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, or (at your option) +;; any later version. + +;; This file 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. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; A set of bleak themes. Uses shades of gray and the occasional +;; splash of color. Designed for 256-color terminals. Comes in light +;; and dark! + +;;; Code: + +(defvar punpun-colors + '((base0 ("#eeeeee" "#080808") ("color-255" "color-232")) + (base1 ("#d0d0d0" "#1c1c1c") ("color-252" "color-234")) + (base2 ("#b2b2b2" "#3a3a3a") ("color-249" "color-237")) + (base3 ("#949494" "#585858") ("color-246" "color-240")) + (base4 ("#767676" "#767676") ("color-243" "color-243")) + (base5 ("#585858" "#949494") ("color-240" "color-246")) + (base6 ("#3a3a3a" "#b2b2b2") ("color-237" "color-249")) + (base7 ("#1c1c1c" "#d0d0d0") ("color-234" "color-252")) + + (yellow ("#ffaf00" "#ffd700") ("color-214" "color-220")) + (orange ("#d75f00" "#ff5f00") ("color-166" "color-202")) + (red ("#d70000" "#ff0000") ("color-160" "color-196")) + (green ("#00af00" "#00d700") ("color-34" "color-40" )) + (blue ("#5f00ff" "#005fff") ("color-57" "color-27" )) + (cyan ("#0087ff" "#00d7ff") ("color-33" "color-45" )) + (pink ("#ff005f" "#ff0087") ("color-197" "color-198")) + (violet ("#8700d7" "#af00d7") ("color-92" "color-128")))) + +(defvar punpun-faces + '(;; faces sorted alphabetically by the file they appear in + + ;; ace-jump-mode.el + (ace-jump-face-background :inherit shadow) + (ace-jump-face-foreground :foreground red) + + ;; avy.el + (avy-lead-face :foreground base1 :background red) + (avy-lead-face-0 :foreground base1 :background pink) + (avy-lead-face-1 :foreground base1 :background violet) + (avy-lead-face-2 :foreground base1 :background blue) + (avy-background-face :foreground base4) + + ;; compile.el + (compilation-mode-line-fail :inherit error :weight bold) + (compilation-mode-line-exit :inherit success :weight bold) + + ;; cua-base.el + (cua-rectangle :inherit region) + + ;;; cus-edit.el + ;; the "magic faces"; see `custom-magic-show-button'. + (custom-invalid :foreground yellow :background red) + (custom-rogue :foreground pink) + (custom-modified :foreground base0 :background blue) + (custom-set :foreground blue) + (custom-changed :foreground base0 :background blue) + (custom-themed :foreground base0 :background blue) + ;;(custom-saved) + ;; button-related + (custom-button :foreground base6 :background base1 + :box (:line-width -1 :style released-button)) + (custom-button-mouse :foreground base6 :background base3 + :box (:line-width -1 :style released-button)) + (custom-button-unraised) + (custom-button-pressed :foreground base6 :background base1 + :box (:line-width -1 :style pressed-button)) + (custom-button-pressed-unraised :foreground violet) + ;; faces for text + ;;(custom-documentation) + (custom-state :foreground green) + ;;(custom-link) + (custom-comment :inherit widget-field :extend nil) + (custom-comment-tag :inherit font-lock-comment-face) + (custom-variable-obsolete) + (custom-variable-tag :weight bold) + ;;(custom-variable-button) + ;;(custom-visibility) + ;;(custom-face-tag) + (custom-group-tag-1 :weight bold :height 1.2 :inherit variable-pitch) + (custom-group-tag :weight bold :height 1.2 :inherit variable-pitch) + ;;(custom-group-subtitle) + + ;; dired.el + (dired-symlink :foreground blue) + + ;; display-line-numbers.el + (line-number :inherit shadow :background base1) + (line-number-current-line :background base1 :weight bold) + + ;; enh-ruby-mode.el + (erm-syn-errline :box (:line-width 1 :color red)) + (erm-syn-warnline :box (:line-width 1 :color orange)) + + ;; em-ls.el + (eshell-ls-directory :inherit dired-directory) + (eshell-ls-symlink :inherit dired-symlink) + (eshell-ls-executable :foreground green) + (eshell-ls-readonly :foreground pink) + (eshell-ls-unreadable :foreground cyan) + (eshell-ls-special :foreground orange) + (eshell-ls-missing :foreground red) + (eshell-ls-archive :inherit dired-ignored) + (eshell-ls-backup :inherit dired-ignored) + (eshell-ls-product :inherit dired-ignored) + (eshell-ls-clutter :inherit dired-ignored) + + ;; em-prompt.el + (eshell-prompt :weight bold) + + ;; eww.el + (eww-form-submit :foreground base6 :background base1 :box (:line-width -1)) + (eww-form-checkbox :inherit eww-form-submit) + (eww-form-select :inherit eww-form-submit) + (eww-form-text :background base1) + (eww-form-textarea :inherit eww-form-text) + + ;; faces.el + (default :foreground base5 :background base0) + (cursor :background base4) + (region :foreground unspecified :background base2) + (fringe :foreground base7 :background base1) + (vertical-border :foreground base6) + (shadow :inherit font-lock-comment-face) + (link :slant italic :underline t) + (link-visited :inherit link :foreground base4) + (highlight :background base1) + (secondary-selection :background base1) + (trailing-whitespace :background red) + (escape-glyph :foreground green :weight bold) + + (mode-line :foreground base5 :background base1) + (mode-line-inactive :foreground base3 :background base1) + (mode-line-highlight :slant italic) + (mode-line-highlight :box (:line-width -1)) + (header-line :inherit mode-line) + (vertical-border :foreground base4) + (window-divider :inherit vertical-border) + (minibuffer-prompt :inherit font-lock-comment-face) + (tab-bar :inherit variable-pitch :foreground base5 :background base1) + + (error :foreground red) + (success :foreground green) + (warning :foreground orange :weight bold) + + (show-paren-match :weight bold) + (show-paren-mismatch :foreground red :weight bold) + + ;; flycheck.el + (flycheck-error :underline (:style wave :color red)) + (flycheck-warning :underline (:style wave :color orange)) + (flycheck-info :underline (:style wave :color green)) + + ;; flymake.el + (flymake-errline :underline (:style wave :color red)) + (flymake-warnline :underline (:style wave :color orange)) + + ;; flyspell.el + (flyspell-duplicate :underline (:style wave :color orange)) + (flyspell-incorrect :underline (:style wave :color red)) + + ;; font-latex.el + (font-latex-bold-face :weight bold) + (font-latex-doctex-documentation-face :slant italic) + (font-latex-italic-face :slant italic) + (font-latex-math-face :foreground violet) + (font-latex-sectioning-1-face :inherit outline-1) + (font-latex-sectioning-2-face :inherit outline-2) + (font-latex-sectioning-3-face :inherit outline-3) + (font-latex-sectioning-4-face :inherit outline-4) + (font-latex-sectioning-5-face :inherit outline-5) + (font-latex-sedate-face :inherit shadow) + (font-latex-string-face :inherit font-lock-string-face) + (font-latex-slide-title-face :inherit outline-1) + (font-latex-verbatim-face :inherit shadow) + (font-latex-warning-face :inherit warning) + + ;; font-lock.el + (font-lock-builtin-face :foreground base4 :weight bold) + (font-lock-comment-face :foreground base4) + (font-lock-constant-face :slant italic) + (font-lock-function-name-face :slant italic) + (font-lock-keyword-face :foreground base4 :weight bold) + (font-lock-negation-char-face :weight bold) + (font-lock-regexp-grouping-construct :weight bold) + (font-lock-regexp-grouping-backslash :weight bold) + (font-lock-string-face :foreground base4) + (font-lock-type-face :slant italic) + (font-lock-variable-name-face :slant italic) + (font-lock-warning-face :foreground orange :weight bold) + + ;; gdb-mi.el + (breakpoint-enabled :foreground red) + + ;; highlight-indentation.el + (highlight-indentation-face :background base1) + (highlight-indentation-current-column-face :background base2) + + ;; highlight-symbol.el + (highlight-symbol-face :inherit highlight) + ;; TODO: think up a solution for `highlight-symbol-colors' + + ;; hl-todo.el + (hl-todo :foreground red :weight bold) + + ;; hydra.el + (hydra-face-red :foreground red :weight bold) + (hydra-face-blue :foreground blue :weight bold) + (hydra-face-amaranth :foreground violet :weight bold) + (hydra-face-pink :foreground pink :weight bold) + (hydra-face-teal :foreground cyan :weight bold) + + ;; ido.el + (ido-only-match :weight bold) + (ido-subdir :inherit font-lock-string-face) + + ;; isearch.el + (isearch :background base2) + (isearch-fail :inherit error) + (lazy-highlight :background base1) + + ;; info.el + (Info-quoted :inherit font-lock-constant-face) + (info-node :weight bold) + (info-title-1 :inherit info-node) + (info-title-2 :inherit info-node) + (info-title-3 :inherit info-node) + (info-title-4 :inherit info-node) + (info-menu-header :inherit default) + (info-menu-star :foreground red) + + ;; ivy.el + (ivy-confirm-face :foreground green) + (ivy-current-match :weight bold :background base1) + (ivy-match-required-face :foreground red) + (ivy-minibuffer-match-face-1 :foreground orange) + (ivy-minibuffer-match-face-2 :foreground orange) + (ivy-minibuffer-match-face-3 :foreground orange) + (ivy-minibuffer-match-face-4 :foreground orange) + (ivy-modified-buffer :inherit default) + (ivy-remote :foreground blue) + (ivy-subdir :inherit dired-directory) + (ivy-virtual :inherit font-lock-builtin-face) + + ;; linum.el + (linum :inherit shadow :background base1) + + ;; make-mode.el + (makefile-space :background red) + + ;; message.el + (message-header-to :inherit default :weight bold) + (message-header-cc :inherit default) + (message-header-subject :inherit default :weight bold) + (message-header-newsgroups :inherit default :weight bold) + (message-header-other :inherit default) + (message-header-name :inherit font-lock-variable-name-face) + (message-header-xheader :inherit default) + (message-separator :inherit font-lock-comment-face) + (message-cited-text :inherit font-lock-comment-face) + (message-mml :inherit font-lock-comment-face) + + ;; org-faces.el + (org-done :foreground green :weight bold) + (org-hide :foreground base0) + (org-todo :foreground red :weight bold) + + ;; outline.el + (outline-1 :weight bold) + (outline-2 :inherit outline-1) + (outline-3 :inherit outline-1) + (outline-4 :inherit outline-1) + (outline-5 :inherit outline-1) + (outline-6 :inherit outline-1) + (outline-7 :inherit outline-1) + (outline-8 :inherit outline-1) + + ;; preview.el + (preview-face :inherit shadow) + + ;; pulse.el + (pulse-highlight-start-face :background yellow) + + ;; rainbow-delimiters.el + (rainbow-delimiters-unmatched-face :foreground red :weight bold) + (rainbow-delimiters-depth-1-face :foreground base5) + (rainbow-delimiters-depth-2-face :foreground base2) + (rainbow-delimiters-depth-3-face :foreground base3) + (rainbow-delimiters-depth-4-face :foreground base2) + (rainbow-delimiters-depth-5-face :foreground base3) + (rainbow-delimiters-depth-6-face :foreground base2) + (rainbow-delimiters-depth-7-face :foreground base3) + (rainbow-delimiters-depth-8-face :foreground base2) + (rainbow-delimiters-depth-9-face :foreground base3) + + ;; re-builder.el + (reb-match-0 :foreground base7 :background base1) + (reb-match-1 :foreground base7 :background base2) + (reb-match-2 :foreground base7 :background yellow) + (reb-match-3 :foreground base7 :background orange) + + ;; replace.el + (match :background yellow) + + ;; rst.el + (rst-level-1 :inherit outline-1) + (rst-level-2 :inherit outline-2) + (rst-level-3 :inherit outline-3) + (rst-level-4 :inherit outline-4) + (rst-level-5 :inherit outline-5) + (rst-level-6 :inherit outline-6) + + ;; sh-script.el + (sh-heredoc :inherit font-lock-string-face) + (sh-quoted-exec :slant italic) + + ;; shorthands.el + (elisp-shorthand-font-lock-face :inherit shadow) + + ;; smartparens.el + (sp-wrap-overlay-opening-pair :inherit sp-wrap-overlay-face :foreground green) + (sp-wrap-overlay-closing-pair :inherit sp-wrap-overlay-face :foreground red) + + ;; tab-bar.el + (tab-bar-tab-inactive :inherit tab-bar-tab :foreground base3 :background base1) + + ;; tex-fold.el + (TeX-fold-folded-face :foreground blue) + (TeX-fold-unfolded-face :foreground base1) + + ;; tooltip.el + (tooltip :inherit default :background base0) + + ;; undo-tree.el + (undo-tree-visualizer-default-face :inherit default) + (undo-tree-visualizer-active-branch-face :weight bold) + (undo-tree-visualizer-unmodified-face :foreground cyan) + (undo-tree-visualizer-current-face :foreground red) + (undo-tree-visualizer-register-face :foreground yellow) + + ;; which-func.el + (which-func :slant italic) + + ;; whitespace.el + (whitespace-space :foreground unspecified :background base1) + (whitespace-hspace :foreground unspecified :background base2) + (whitespace-tab :foreground unspecified :background red) + (whitespace-newline :inherit font-lock-comment-face) + (whitespace-line :inherit warning :underline t) + (whitespace-space-before-tab :foreground unspecified :background orange) + (whitespace-space-after-tab :foreground unspecified :background orange) + (whitespace-indentation :foreground unspecified :background orange) + (whitespace-empty :foreground unspecified :background yellow) + (whitespace-trailing :foreground unspecified :background red) + + ;; wid-edit.el + (widget-field :background base1 + :box (:line-width (1 . -1) :color base1) + :extend t) + )) + +(defun punpun-set-faces (theme darkp) + (apply #'custom-theme-set-faces theme + (mapcar (lambda (face) (punpun-transform-face face darkp)) + punpun-faces))) + +(defun punpun-transform-face (face darkp) + (let* ((name (car face)) + (spec (cdr face)) + (graphic-spec (punpun-transform-spec spec t darkp)) + (tty-spec (punpun-transform-spec spec nil darkp))) + `(,name ((((type graphic)) ,@graphic-spec) + (((type tty)) ,@tty-spec))))) + +(defun punpun-transform-spec (spec display darkp) + (let (output) + (while spec + (let* ((key (car spec)) + (value (cadr spec)) + (color (punpun-color value display darkp))) + (cond + ((and (memq key '(:box :underline)) (listp value)) + (setq output (append output + (list key (punpun-transform-spec value display darkp))))) + ((and (not (memq value '(t unspecified))) + (memq key '(:foreground :background :underline :overline :strike-through :color)) + color) + (setq output (append output (list key color)))) + (t (setq output (append output (list key value)))))) + (setq spec (cddr spec))) + output)) + +(defun punpun-color (shade display darkp) + (nth (if darkp 1 0) + (nth (if display 1 2) + (assoc shade punpun-colors)))) + +;;;###autoload +(and load-file-name + (boundp 'custom-theme-load-path) + (add-to-list 'custom-theme-load-path + (file-name-as-directory + (file-name-directory load-file-name)))) + +(provide 'punpun-themes) +;;; punpun-themes.el ends here