225 lines
6.6 KiB
EmacsLisp
225 lines
6.6 KiB
EmacsLisp
;;; standard-dark-theme.el --- Like the unthemed dark Emacs, but more consistent -*- lexical-binding:t -*-
|
||
|
||
;; Copyright (C) 2022 Free Software Foundation, Inc.
|
||
|
||
;; Author: Protesilaos Stavrou <info@protesilaos.com>
|
||
;; Maintainer: Standard-Themes Development <~protesilaos/standard-themes@lists.sr.ht>
|
||
;; URL: https://git.sr.ht/~protesilaos/standard-themes
|
||
;; Mailing-List: https://lists.sr.ht/~protesilaos/standard-themes
|
||
;; Keywords: faces, theme, accessibility
|
||
|
||
;; This file is part of GNU Emacs.
|
||
|
||
;; GNU Emacs 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.
|
||
;;
|
||
;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>.
|
||
|
||
;;; Commentary:
|
||
;;
|
||
;; The `standard-themes' are a pair of light and dark themes for GNU
|
||
;; Emacs. They emulate the out-of-the-box looks of Emacs (which
|
||
;; technically do NOT constitute a theme) while bringing to them
|
||
;; thematic consistency, customizability, and extensibility.
|
||
;;
|
||
;; Why call them "standard"? Obviously because: Standard Themes Are
|
||
;; Not Derivatives but the Affectionately Reimagined Default ... themes.
|
||
|
||
;;; Code:
|
||
|
||
|
||
|
||
(eval-and-compile
|
||
(require 'standard-themes)
|
||
|
||
(deftheme standard-dark
|
||
"Like the unthemed dark Emacs, but more consistent."
|
||
:background-mode 'dark
|
||
:kind 'color-scheme
|
||
:family 'standard)
|
||
|
||
(defconst standard-dark-palette
|
||
'(;; Basic tones
|
||
(bg-main "#000000")
|
||
(fg-main "#ffffff")
|
||
(bg-dim "#202020")
|
||
(fg-dim "#a6a6a6")
|
||
(bg-alt "#363636")
|
||
(fg-alt "#a0afef")
|
||
|
||
(bg-active "#606060")
|
||
(bg-inactive "#141414")
|
||
|
||
;; Basic hues for foreground values
|
||
(red "#ff6f60")
|
||
(red-warmer "#ff7f24")
|
||
(red-cooler "#ff778f")
|
||
(red-faint "#ee5c42")
|
||
(green "#44cc44")
|
||
(green-warmer "#7abd0f")
|
||
(green-cooler "#98fb98")
|
||
(green-faint "#61a06c")
|
||
(yellow "#eedd82")
|
||
(yellow-warmer "#fec43f")
|
||
(yellow-cooler "#ffa07a")
|
||
(yellow-faint "#dfb08f")
|
||
(blue "#87ceff")
|
||
(blue-warmer "#80aaff")
|
||
(blue-cooler "#02cfff")
|
||
(blue-faint "#b0c4de")
|
||
(magenta "#df8faf")
|
||
(magenta-warmer "#ff8fe7")
|
||
(magenta-cooler "#ce82ff")
|
||
(magenta-faint "#efafdf")
|
||
(cyan "#00ffff")
|
||
(cyan-warmer "#87cefa")
|
||
(cyan-cooler "#7fffd4")
|
||
(cyan-faint "#6acbcb")
|
||
|
||
;; Basic hues for background values
|
||
(bg-red "#cd2f30")
|
||
(bg-green "#408420")
|
||
(bg-yellow "#8f5040")
|
||
(bg-blue "#4648d0")
|
||
(bg-magenta "#a050cf")
|
||
(bg-cyan "#2270be")
|
||
|
||
;; Diffs
|
||
(bg-added "#00331f")
|
||
(bg-added-faint "#002410")
|
||
(bg-added-refine "#03492f")
|
||
(fg-added "#4fb04f")
|
||
|
||
(bg-changed "#323200")
|
||
(bg-changed-faint "#281a00")
|
||
(bg-changed-refine "#484800")
|
||
(fg-changed "#e0cf03")
|
||
|
||
(bg-removed "#4a1119")
|
||
(bg-removed-faint "#320a0f")
|
||
(bg-removed-refine "#751a1f")
|
||
(fg-removed "#ff5f5f")
|
||
|
||
;; Marks
|
||
(bg-mark-alt "#002f4a") (fg-mark-alt "#57cefa")
|
||
(bg-mark-del "#440d09") (fg-mark-del "#ff5f60")
|
||
(bg-mark-sel "#333000") (fg-mark-sel "#d0d082")
|
||
|
||
;; Graphs
|
||
(red-graph-0-bg "#b52c2c")
|
||
(red-graph-1-bg "#702020")
|
||
(green-graph-0-bg "#4fd100")
|
||
(green-graph-1-bg "#007800")
|
||
(yellow-graph-0-bg "#f1e00a")
|
||
(yellow-graph-1-bg "#b08600")
|
||
(blue-graph-0-bg "#2fafef")
|
||
(blue-graph-1-bg "#1f2f8f")
|
||
(magenta-graph-0-bg "#bf94fe")
|
||
(magenta-graph-1-bg "#5f509f")
|
||
(cyan-graph-0-bg "#47dfea")
|
||
(cyan-graph-1-bg "#00808f")
|
||
|
||
;; Special hues
|
||
(bg-mode-line "#505050") (bg-mode-line-inactive "#323232")
|
||
(bg-accent "#ffc200")
|
||
(bg-completion "#254b5f")
|
||
(bg-hover "#457b2f")
|
||
(bg-hover-alt "#00688b")
|
||
(bg-hl-line "#556b2f")
|
||
(bg-region "#0000cd")
|
||
(bg-paren "#4f94cd")
|
||
(bg-err "#3f0d09") ; check with err
|
||
(bg-warning "#362f00") ; check with warning
|
||
(bg-info "#002f12") ; check with info
|
||
|
||
(border "#606070")
|
||
(cursor "#ffffff")
|
||
|
||
(bg-tab "#333333")
|
||
(bg-tab-inactive "#4d4d4d")
|
||
(bg-tab-inactive-alt "#666666")
|
||
|
||
(modeline-err "#ff80af")
|
||
(modeline-warning "#dfcf33")
|
||
(modeline-info "#2fc82f")
|
||
|
||
(underline-err "#df2f2f")
|
||
(underline-warning "#c0b000")
|
||
(underline-info "#22b022")
|
||
|
||
;; Conditional hues
|
||
(bg-prompt "#483f73")
|
||
(bg-region-intense "#9f3047")
|
||
(bg-mode-line-accent "#173780")
|
||
|
||
;; Mappings
|
||
(err red)
|
||
(warning yellow-warmer)
|
||
(info green)
|
||
|
||
(link cyan)
|
||
(link-alt magenta-cooler)
|
||
(link-faint cyan-faint)
|
||
(link-alt-faint magenta-faint)
|
||
(date cyan-warmer)
|
||
(name cyan-cooler)
|
||
(keybind blue-cooler)
|
||
(prompt blue)
|
||
|
||
(builtin blue-faint)
|
||
(comment red-warmer)
|
||
(constant cyan-cooler)
|
||
(fnname cyan-warmer)
|
||
(keyword cyan)
|
||
(preprocessor blue-faint)
|
||
(docstring yellow-cooler)
|
||
(string yellow-cooler)
|
||
(type green-cooler)
|
||
(variable yellow)
|
||
|
||
(rx-escape green) ; compare with `string'
|
||
(rx-construct fg-main)
|
||
|
||
(accent-0 blue-warmer)
|
||
(accent-1 red-cooler)
|
||
(accent-2 green)
|
||
(accent-3 magenta-cooler)
|
||
|
||
(mail-0 red-cooler)
|
||
(mail-1 magenta-warmer)
|
||
(mail-2 green)
|
||
(mail-3 cyan-cooler)
|
||
(mail-4 blue-warmer)
|
||
(mail-recipient blue)
|
||
(mail-subject magenta-cooler)
|
||
(mail-other cyan)
|
||
|
||
(rainbow-0 "#afeeee")
|
||
(rainbow-1 cyan-warmer)
|
||
(rainbow-2 yellow)
|
||
(rainbow-3 cyan)
|
||
(rainbow-4 red-warmer)
|
||
(rainbow-5 green-cooler)
|
||
(rainbow-6 cyan-cooler)
|
||
(rainbow-7 blue-faint)
|
||
(rainbow-8 yellow-cooler)
|
||
|
||
(prose-code cyan-cooler)
|
||
(prose-macro green-warmer)
|
||
(prose-verbatim magenta-warmer))
|
||
"The `standard-dark' palette.")
|
||
|
||
(standard-themes-theme standard-dark standard-dark-palette)
|
||
|
||
(provide-theme 'standard-dark))
|
||
|
||
;;; standard-dark-theme.el ends here
|