;;; ef-catppuccin-frappe-theme.el --- implementation of catppuccin-frappe 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-frappe "ef-themes of the catppuccin-frappe palette" :background-mode 'dark :kind 'color-scheme :family 'ef) (defconst ef-catppuccin-frappe-palette '( ;;; Basic values ;;; Basic hues for foreground values (crust "#232634") (mantle "#292c3c") (base "#303446") (surface0 "#414559") (surface1 "#51576d") (surface2 "#626880") (overlay0 "#737994") (overlay1 "#838BA7") (overlay2 "#949CBB") (text "#c6d0f5") (subtext0 "#a5adce") (subtext1 "#b5bfe2") (rosewater "#f2d5cf") (rosewater-warmer "#fed5c2") (rosewater-cooler "#e5d5db") (rosewater-faint "#fbf3f2") (rosewater-intense "#f9cfc7") (bg-rosewater-intense "#82655d") (bg-rosewater-subtle "#b0452f") (flamingo "#eebebe") (flamingo-warmer "#fabeb1") (flamingo-cooler "#e1beca") (flamingo-faint "#f6dfdf") (flamingo-intense "#f8b3b3") (bg-flamingo-intense "#7e5757") (bg-flamingo-subtle "#a92c2c") (pink "#f3b8e4") (pink-warmer "#ffb8d7") (pink-cooler "#e6b8f0") (pink-faint "#f9dcf1") (pink-intense "#fdade9") (bg-pink-intense "#8b4979") (bg-pink-subtle "#b61e90") (mauve "#ca9ee6") (mauve-warmer "#d69ed9") (mauve-cooler "#bd9ef2") (mauve-faint "#dabced") (mauve-intense "#cd8ef5") (bg-mauve-intense "#644e72") (bg-mauve-subtle "#6d279a") (red "#e78284") (red-warmer "#f38277") (red-cooler "#da8290") (red-faint "#eca0a1") (red-intense "#f96f72") (bg-red-intense "#734041") (bg-red-subtle "#971d1f") (maroon "#ea999c") (maroon-warmer "#f6998f") (maroon-cooler "#dd99a8") (maroon-faint "#f0b9bb") (maroon-intense "#f9898d") (bg-maroon-intense "#794749") (bg-maroon-subtle "#a02125") (peach "#ef9f76") (peach-warmer "#fb9f69") (peach-cooler "#e29f82") (peach-faint "#f2b595") (peach-intense "#ff9965") (bg-peach-intense "#7b4d36") (bg-peach-subtle "#9f4212") (yellow "#e5c890") (yellow-warmer "#f1c883") (yellow-cooler "#d8c89c") (yellow-faint "#ecd6ae") (yellow-intense "#f6cd7e") (bg-yellow-intense "#716348") (bg-yellow-subtle "#976f23") (green "#a6d189") (green-warmer "#b2d17c") (green-cooler "#99d195") (green-faint "#b8daa1") (green-intense "#a2e574") (bg-green-intense "#555952") (bg-green-subtle "#4f7c30") (teal "#81c8be") (teal-warmer "#8dc8b1") (teal-cooler "#74c8ca") (teal-faint "#97d1c9") (teal-intense "#6adece") (bg-teal-intense "#525252") (bg-teal-subtle "#317269") (blue "#8caaee") (blue-warmer "#98aae1") (blue-cooler "#7faafa") (blue-faint "#acc2f2") (blue-intense "#7ba3fe") (bg-blue-intense "#3e527e") (bg-blue-subtle "#1843a4") (sky "#99d1db") (sky-warmer "#a5d1ce") (sky-cooler "#8cd1e7") (sky-faint "#b4dde4") (sky-intense "#87ddec") (bg-sky-intense "#556164") (bg-sky-subtle "#307c89") (sapphire "#85c1dc") (sapphire-warmer "#91c1cf") (sapphire-cooler "#78c1e8") (sapphire-faint "#a0cee3") (sapphire-intense "#71c8ef") (bg-sapphire-intense "#4a5d65") (bg-sapphire-subtle "#276a89") (lavender "#babbf1") (lavender-warmer "#c6bbe4") (lavender-cooler "#adbbfd") (lavender-faint "#ddddf8") (lavender-intense "#afb1fb") (bg-lavender-intense "#4e4e86") (bg-lavender-subtle "#2426b1") ;;; 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-frappe' 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-frappe-palette-overrides nil "Overrides for `ef-catppuccin-frappe-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-frappe ef-catppuccin-frappe-palette ef-catppuccin-frappe-palette-overrides) (provide-theme 'ef-catppuccin-frappe))