;;; ef-catppuccin-latte-theme.el --- implementation of catppuccin-latte theme using ef-themes -*- lexical-binding:t -*- ;; Copyright (C) 2022-2024 Free Software Foundation, Inc. ;; Author: Steve Beaulac ;; Maintainer: Steve Beaulac ;; URL: https://github.com/SjB/ef-catppuccin ;; Keywords: faces, theme, accessibility ;; This file is NOT 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 . ;;; Commentary: ;; ;; The `ef-themes' are a collection of light and dark themes for GNU ;; Emacs whose goal is to provide colorful ("pretty") yet legible ;; options for users who want something with a bit more flair than the ;; `modus-themes' (also designed by me). ;;; Code: (eval-and-compile (require 'ef-themes) (deftheme ef-catppuccin-latte "ef-themes of the catppuccin-latte palette" :background-mode 'light :kind 'color-scheme :family 'ef) (defconst ef-catppuccin-latte-palette '( ;;; Basic values ;;; Basic hues for foreground values (crust "#DCE0E8") (mantle "#E6E9EF") (base "#EFF1F5") (surface0 "#CCD0DA") (surface1 "#BCC0CC") (surface2 "#ACB0BE") (overlay0 "#9CA0B0") (overlay1 "#8C8FA1") (overlay2 "#7C7F93") (text "#4C4F69") (subtext0 "#6C6F85") (subtext1 "#5C5F77") (rosewater "#DC8A78") (rosewater-warmer "#e88a6b") (rosewater-cooler "#cf8a84") (rosewater-faint "#e3a193") (rosewater-intense "#f17c62") (bg-rosewater-intense "#ffffff") (bg-rosewater-subtle "#ffffff") (flamingo "#DD7878") (flamingo-warmer "#e9786b") (flamingo-cooler "#d07884") (flamingo-faint "#e39393") (flamingo-intense "#f26262") (bg-flamingo-intense "#ffffff") (bg-flamingo-subtle "#ffffff") (pink "#EA76CB") (pink-warmer "#f676be") (pink-cooler "#dd76d7") (pink-faint "#ee94d6") (pink-intense "#fd62d4") (bg-pink-intense "#fefffe") (bg-pink-subtle "#ffffff") (mauve "#8839EF") (mauve-warmer "#9439e2") (mauve-cooler "#7b39fb") (mauve-faint "#9854f1") (mauve-intense "#8529ff") (bg-mauve-intense "#ffffff") (bg-mauve-subtle "#ffffff") (red "#D20F39") (red-warmer "#de0f2c") (red-cooler "#c50f45") (red-faint "#e7103e") (red-intense "#e10030") (bg-red-intense "#dfa8b4") (bg-red-subtle "#f792a8") (maroon "#E64553") (maroon-warmer "#f24546") (maroon-cooler "#d9455f") (maroon-faint "#e95f6b") (maroon-intense "#ff2c3e") (bg-maroon-intense "#ffffff") (bg-maroon-subtle "#ffffff") (peach "#FE640B") (peach-warmer "#ff6400") (peach-cooler "#f16417") (peach-faint "#fe7425") (peach-intense "#fe630a") (bg-peach-intense "#f5e3d8") (bg-peach-subtle "#fee1d0") (yellow "#DF8E1D") (yellow-warmer "#eb8e10") (yellow-cooler "#d28e29") (yellow-faint "#e49930") (yellow-intense "#fc9200") (bg-yellow-intense "#e8ddce") (bg-yellow-subtle "#f7e0c1") (green "#40A02B") (green-warmer "#4ca01e") (green-cooler "#33a037") (green-faint "#46b02f") (green-intense "#2fb911") (bg-green-intense "#a8bea2") (bg-green-subtle "#95de85") (teal "#179299") (teal-warmer "#23928c") (teal-cooler "#0a92a5") (teal-faint "#19a0a8") (teal-intense "#00a5af") (bg-teal-intense "#76b7bb") (bg-teal-subtle "#4fdce4") (blue "#1E66F5") (blue-warmer "#2a66e8") (blue-cooler "#1166ff") (blue-faint "#3877f6") (blue-intense "#1462fe") (bg-blue-intense "#e7edf7") (bg-blue-subtle "#e3ecfd") (sky "#04A5E5") (sky-warmer "#10a5d8") (sky-cooler "#00a5f1") (sky-faint "#05b4fa") (sky-intense "#00a6e9") (bg-sky-intense "#add7e8") (bg-sky-subtle "#9ae1fd") (sapphire "#209FB5") (sapphire-warmer "#2c9fa8") (sapphire-cooler "#139fc1") (sapphire-faint "#23aec7") (sapphire-intense "#05b1cf") (bg-sapphire-intense "#a4c7ce") (bg-sapphire-subtle "#8adcea") (lavender "#7287FD") (lavender-warmer "#7e87f0") (lavender-cooler "#6587ff") (lavender-faint "#96a5fd") (lavender-intense "#7085ff") (bg-lavender-intense "#ffffff") (bg-lavender-subtle "#ffffff") ;;; remaping colors to properties (bg-main base) (bg-dim mantle) (bg-alt crust) (fg-main text) (fg-dim subtext0) (fg-alt subtext1) (bg-inactive surface0) (bg-active surface1) ;;; mauve is replacing magenta (magenta mauve) (magenta-warmer mauve-warmer) (magenta-cooler mauve-cooler) (magenta-faint mauve-faint) (bg-magenta-intense bg-mauve-intense) (bg-magenta-subtle bg-mauve-subtle) ;;; sapphire is replacing cyan (cyan sapphire) (cyan-warmer sapphire-warmer) (cyan-cooler sapphire-cooler) (cyan-faint sapphire-faint) (bg-cyan-intense bg-sapphire-intense) (bg-cyan-subtle bg-sapphire-subtle) ;;; Diffs (bg-added bg-active) (bg-added-faint bg-inactive) (bg-added-refine bg-green-subtle) (fg-added green) (bg-changed bg-active) (bg-changed-faint bg-inactive) (bg-changed-refine bg-blue-subtle) (fg-changed blue) (bg-removed bg-active) (bg-removed-faint bg-inactive) (bg-removed-refine bg-red-subtle) (fg-removed red) ;;; Graphs (bg-graph-red-0 bg-maroon-subtle) (bg-graph-red-1 bg-maroon-intense) (bg-graph-green-0 bg-teal-subtle) (bg-graph-green-1 bg-teal-intense) (bg-graph-yellow-0 bg-rosewater-subtle) (bg-graph-yellow-1 bg-rosewater-intense) (bg-graph-blue-0 bg-sky-subtle) (bg-graph-blue-1 bg-sky-intense) (bg-graph-magenta-0 bg-pink-subtle) (bg-graph-magenta-1 bg-pink-intense) (bg-graph-cyan-0 bg-lavender-subtle) (bg-graph-cyan-1 bg-lavender-intense) ;;; Special hues (bg-mode-line mantle) (fg-mode-line text) (bg-completion overlay0) (bg-hover overlay1) (bg-hover-secondary overlay2) (bg-hl-line crust) (bg-region overlay2) (bg-paren surface2) (bg-err bg-red-intense) ; check with err (bg-warning bg-yellow-intense) ; check with warning (bg-info bg-green-intense) ; check with info (border lavender) (cursor rosewater) (fg-intense subtext1) (modeline-err red) (modeline-warning yellow) (modeline-info green) (underline-err red-intense) (underline-warning yellow-intense) (underline-info green-intense) (bg-char-0 surface0) (bg-char-1 surface1) (bg-char-2 surface2) ;;; Conditional hues (bg-region-intense bg-lavender-intense) (fg-region crust) ;;; Mappings ;;;; General mappings (bg-fringe bg-main) (fg-fringe fg-main) (err red) (warning yellow) (info green) (link blue) (link-alt lavender) (name green) (keybind teal) (identifier sapphire) (prompt flamingo) ;;;; Code mappings (builtin red) (comment overlay0) (constant peach) (fnname flamingo) (keyword mauve) (preprocessor sky) (docstring sapphire) (string green) (type yellow) (variable green) (rx-escape rosewater) ; compare with `string' (rx-construct maroon) ;;;; Accent mappings (accent-0 blue) (accent-1 mauve) (accent-2 green) (accent-3 red) ;;;; Date mappings (date-common green-cooler) (date-deadline red-warmer) (date-event fg-alt) (date-holiday mauve-faint) (date-now fg-main) (date-range fg-alt) (date-scheduled yellow) (date-weekday sapphire) (date-weekend red-faint) ;;;; Prose mappings (prose-code mauve-warmer) (prose-done green) (prose-macro green-cooler) (prose-metadata fg-dim) (prose-metadata-value fg-alt) (prose-table fg-alt) (prose-table-formula err) (prose-tag yellow-faint) (prose-todo red-warmer) (prose-verbatim blue) ;;;; Mail mappings (mail-cite-0 blue) (mail-cite-1 mauve-warmer) (mail-cite-2 green-cooler) (mail-cite-3 yellow-cooler) (mail-part mauve-faint) (mail-recipient blue-warmer) (mail-subject blue-cooler) (mail-other sapphire) ;;;; Search mappings (bg-search-match bg-warning) (bg-search-current bg-yellow-intense) (bg-search-lazy bg-blue-intense) (bg-search-replace bg-red-intense) (bg-search-rx-group-0 bg-magenta-intense) (bg-search-rx-group-1 bg-green-intense) (bg-search-rx-group-2 bg-red-subtle) (bg-search-rx-group-3 bg-cyan-subtle) ;;;; Space mappings (bg-space unspecified) (fg-space border) (bg-space-err bg-maroon-intense) ;;;; Tab mappings (bg-tab-bar bg-alt) (bg-tab-current bg-main) (bg-tab-other bg-active) ;;;; Terminal mappings (bg-term-black "black") (fg-term-black "black") (bg-term-black-bright "gray35") (fg-term-black-bright "gray35") (bg-term-red red-cooler) (fg-term-red red-cooler) (bg-term-red-bright red-warmer) (fg-term-red-bright red-warmer) (bg-term-green green) (fg-term-green green) (bg-term-green-bright green-warmer) (fg-term-green-bright green-warmer) (bg-term-yellow yellow) (fg-term-yellow yellow) (bg-term-yellow-bright yellow-warmer) (fg-term-yellow-bright yellow-warmer) (bg-term-blue blue-warmer) (fg-term-blue blue-warmer) (bg-term-blue-bright blue-cooler) (fg-term-blue-bright blue-cooler) (bg-term-magenta magenta) (fg-term-magenta magenta) (bg-term-magenta-bright magenta-cooler) (fg-term-magenta-bright magenta-cooler) (bg-term-cyan cyan) (fg-term-cyan cyan) (bg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler) (bg-term-white "gray65") (fg-term-white "gray65") (bg-term-white-bright "white") (fg-term-white-bright "white") ;;;; Rainbow mappings (rainbow-0 marroon) (rainbow-1 red) (rainbow-2 peach) (rainbow-3 yellow) (rainbow-4 green) (rainbow-5 sapphire) (rainbow-6 lavender) (rainbow-7 sky) (rainbow-8 teal)) "The `ef-catppuccin-latte' palette. Color values have the form (COLOR-NAME HEX-VALUE) with the former as a symbol and the latter as a string. Semantic color mappings have the form (MAPPING-NAME COLOR-NAME) with both as symbols. The latter is a color that already exists in the palette and is associated with a HEX-VALUE.") (defcustom ef-catppuccin-latte-palette-overrides nil "Overrides for `ef-catppuccin-latte-palette'. Mirror the elements of the aforementioned palette, overriding their value. For overrides that are shared across all of the Ef themes, refer to `ef-themes-common-palette-overrides'. To preview the palette entries, use `ef-themes-preview-colors' or `ef-themes-preview-colors-current' (read the documentation for further details)." :group 'ef-themes :package-version '(ef-themes . "1.0.0") :type '(repeat (list symbol (choice symbol string))) :link '(info-link "(ef-themes) Palette overrides")) (ef-themes-theme ef-catppuccin-latte ef-catppuccin-latte-palette ef-catppuccin-latte-palette-overrides) (provide-theme 'ef-catppuccin-latte))