;; acme-theme.el -- A theme inspired by the classic colours of the ACME editor. ;; Copyright (C) 2021 , tslil clingman ;; Version: 0.2 ;; Package-Requires: ((emacs "24")) ;; 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 . ;; This file is not part of Emacs. (deftheme acme "A theme inspired by the classic colours of the ACME editor.") (let ((bg-yellow "#FFFFEA") (bg-blue "#DAEFEF") (lazy "#D1D1C0") (mud "#99994C") (yellow "#EAEA9E") (blue "#268BD2") (red "#AA0000") (purple "#8888CC") (green "#508050") (link "#D05000")) (custom-theme-set-faces 'acme `(default ((t (:background ,bg-yellow :foreground "black")))) '(cursor ((t (:background "black")))) '(escape-glyph ((t (:foreground "black")))) '(highlight ((t (:foreground "grey30")))) '(region ((t (:background "orange" :foreground "black")))) `(secondary-selection ((t (:background ,red)))) '(trailing-whitespace ((t (:background "grey")))) `(widget-field ((t (:background ,bg-blue)))) '(font-lock-builtin-face ((t (:foreground "black" :slant normal)))) '(font-lock-comment-delimiter-face ((t (:inherit (font-lock-comment-face))))) '(font-lock-comment-face ((t (:foreground "darkgrey" :slant italic)))) '(font-lock-constant-face ((t (:foreground "black")))) '(font-lock-doc-face ((t (:foreground "black" :slant italic)))) '(font-lock-function-name-face ((t (:foreground "black" :weight bold)))) '(font-lock-keyword-face ((t (:foreground "black" :weight bold)))) '(font-lock-negation-char-face ((t (:foreground "black")))) '(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face))))) '(font-lock-string-face ((t (:foreground "black")))) '(font-lock-type-face ((t (:foreground "black" :underline t)))) '(font-lock-variable-name-face ((t (:foreground "black")))) '(font-lock-warning-face ((t (:foreground "black")))) `(link ((t (:underline (:color foreground-color :style line) :foreground ,link)))) '(button ((t (:inherit (link))))) '(link-visited ((t (:inherit (link))))) `(fringe ((t (:background ,bg-yellow :foreground "black")))) `(line-number ((t (:inherit default)))) `(line-number-current-line ((t (:inherit default :background ,purple)))) `(mode-line ((t (:background ,bg-blue :foreground "black" :box 2)))) '(mode-line-buffer-id ((t (:foreground "black" :weight bold)))) '(mode-line-emphasis ((t (:foreground "black")))) '(mode-line-highlight ((t (:weight bold :box nil :foreground "black")))) `(mode-line-inactive ((t (:background ,bg-blue :foreground "#393939" :weight normal :box t)))) '(minibuffer-line ((t (:inherit default)))) '(minibuffer-prompt ((t (:inherit (minibuffer-line) :weight bold)))) `(isearch ((t (:background ,yellow)))) `(isearch-fail ((t (:background ,red)))) `(lazy-highlight ((t (:foreground "black" :weight bold :background ,bg-blue)))) `(match ((t (:background ,yellow)))) '(next-error ((t (:inherit (region))))) '(query-replace ((t (:inherit (isearch))))) ;; '(table-cell ((t (:inherit (default))))) `(show-paren-match ((t (:weight bold :background ,purple)))) `(show-paren-mismatch ((t (:background ,red)))) `(sp-show-pair-match-face ((t (:weight bold :background ,purple)))) `(sp-show-pair-mismatch-face ((t (:background ,red)))) '(eshell-prompt-face ((t (:inherit default :weight bold)))) '(sh-quoted-exec ((t (:foreground "black" :underline t)))) '(font-latex-bold-face ((t (:weight bold)))) '(font-latex-italic-face ((t (:slant italic)))) '(font-latex-math-face ((t (:inherit default)))) ;; `(font-latex-math-face ((t (:box (:line-width 2 :color ,lazy :style pressed-button) ;; :foreground "black")))) '(font-latex-script-char-face ((t (:inherit default)))) '(font-latex-string-face ((t (:inherit default)))) '(font-latex-verbatim-face ((t (:inherit default)))) '(font-latex-sedate-face ((t (:inherit default)))) '(font-latex-warning-face ((t (:inherit default)))) '(font-latex-sectioning-5-face ((t (:foreground "black" :weight normal)))) ;; '(tex-math ((t (:inherit font-latex-math-face)))) ;; '(TeX-error-description-error ((t (:inherit default)))) ;; '(TeX-error-description-help ((t (:inherit default)))) ;; '(TeX-error-description-warning ((t (:inherit default)))) ;; '(TeX-error-description-tex-said ((t (:inherit default)))) `(shm-current-face ((t (:background ,bg-blue)))) '(shm-quarantine-face ((t nil))) `(avy-goto-char-timer-face ((t (:background ,bg-blue)))) `(avy-lead-face ((t (:background ,yellow)))) `(avy-lead-face-0 ((t (:background ,green)))) `(avy-lead-face-1 ((t (:background ,red)))) `(avy-lead-face-2 ((t (:background ,purple)))) '(custom-group-tag ((t (:inherit default :height 1.2 :weight bold)))) '(custom-variable-tag ((t (:inherit default :weight bold)))) '(company-coq-comment-h1-face ((t (:height 1.8 :slant italic :inherit (default))))) '(company-coq-comment-h2-face ((t (:height 1.4 :slant italic :inherit (default))))) '(company-coq-comment-h3-face ((t (:height 1.2 :slant italic :inherit (default))))) '(company-coq-coqdoc-h1-face ((t (:weight bold :inverse-video t)))) '(company-coq-coqdoc-h2-face ((t (:weight bold :underline t)))) '(company-coq-coqdoc-h3-face ((t (:underline t)))) ;; '(company-coq-coqdoc-h4-face ((t (:inherit (default))))) '(company-coq-features/code-folding-bullet-face ((t (:foreground "black" :weight bold)))) '(coq-solve-tactics-face ((t (:foreground "black" :underline t)))) `(proof-error-face ((t (:foreground ,red)))) '(proof-tactics-name-face ((t (:foreground "black" :weight bold)))) '(proof-tacticals-name-face ((t (:foreground "black" :underline t)))) `(proof-locked-face ((t (:background ,bg-blue)))) `(icomplete-selected-match ((t (:foreground "black" :background ,bg-blue :weight bold)))) )) (provide-theme 'acme) ;; (cl-loop for face in (face-list) do ;; (set-face-attribute face nil :foreground nil :background nil))