;;; ef-catppuccin-macchiatto-theme.el --- implementation of catppuccin-macchiatto 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-macchiatto "ef-themes of the catppuccin-macchiatto palette" :background-mode 'dark :kind 'color-scheme :family 'ef) (defconst ef-catppuccin-macchiatto-palette '( ;;; Basic values ;;; Basic hues for foreground values (crust "#181926") (mantle "#1e2030") (base "#24273a") (surface0 "#363A4F") (surface1 "#494d64") (surface2 "#5b6078") (overlay0 "#6e728d") (overlay1 "#8087A2") (overlay2 "#939AB7") (text "#CAD3F5") (subtext0 "#A5ADCB") (subtext1 "#B8C0E0") (rosewater "#F3dbd6") (rosewater-warmer "#ffdbc9") (rosewater-cooler "#e6dbe2") (rosewater-faint "#fdfaf9") (rosewater-intense "#f9d6cf") (bg-rosewater-intense "#826561") (bg-rosewater-subtle "#b04933") (flamingo "#f0c6c6") (flamingo-warmer "#fcc6b9") (flamingo-cooler "#e3c6d2") (flamingo-faint "#f9e8e8") (flamingo-intense "#f9bdbd") (bg-flamingo-intense "#805959") (bg-flamingo-subtle "#ad2d2d") (pink "#f5bde6") (pink-warmer "#ffbdd9") (pink-cooler "#e8bdf2") (pink-faint "#fae2f4") (pink-intense "#feb3ea") (bg-pink-intense "#8f497b") (bg-pink-subtle "#bc1c91") (mauve "#c6a0f6") (mauve-warmer "#d2a0e9") (mauve-cooler "#b9a0ff") (mauve-faint "#dcc5f9") (mauve-intense "#c497ff") (bg-mauve-intense "#603990") (bg-mauve-subtle "#5b11b9") (red "#ed8796") (red-warmer "#f98789") (red-cooler "#e087a2") (red-faint "#f1a7b2") (red-intense "#fe7589") (bg-red-intense "#7c3d46") (bg-red-subtle "#a1182c") (maroon "#ee99a0") (maroon-warmer "#fa9993") (maroon-cooler "#e199ac") (maroon-faint "#f3babf") (maroon-intense "#fc8a93") (bg-maroon-intense "#804247") (bg-maroon-subtle "#a71b27") (peach "#f5a97f") (peach-warmer "#ffa972") (peach-cooler "#e8a98b") (peach-faint "#f7c0a1") (peach-intense "#ffa675") (bg-peach-intense "#865032") (bg-peach-subtle "#ac460d") (yellow "#eed49f") (yellow-warmer "#fad492") (yellow-cooler "#e1d4ab") (yellow-faint "#f3e3c0") (yellow-intense "#fcd890") (bg-yellow-intense "#806d45") (bg-yellow-subtle "#a87a1d") (green "#a6da95") (green-warmer "#b2da88") (green-cooler "#99daa1") (green-faint "#bce3b0") (green-intense "#9ceb83") (bg-green-intense "#576353") (bg-green-subtle "#45882f") (teal "#8bd5ca") (teal-warmer "#97d5bd") (teal-cooler "#7ed5d6") (teal-faint "#a4ded5") (teal-intense "#77e8d7") (bg-teal-intense "#515d5b") (bg-teal-subtle "#2e8174") (blue "#8aadf4") (blue-warmer "#96ade7") (blue-cooler "#7dadff") (blue-faint "#acc5f7") (blue-intense "#7fa9ff") (bg-blue-intense "#365187") (bg-blue-subtle "#1044ae") (sky "#91d7e3") (sky-warmer "#9dd7d6") (sky-cooler "#84d7ef") (sky-faint "#aee1ea") (sky-intense "#7fe3f4") (bg-sky-intense "#4a696e") (bg-sky-subtle "#258494") (sapphire "#7dc4e4") (sapphire-warmer "#89c4d7") (sapphire-cooler "#70c4f0") (sapphire-faint "#9ad1ea") (sapphire-intense "#69cbf7") (bg-sapphire-intense "#41606e") (bg-sapphire-subtle "#1e6e92") (lavender "#b7bdf8") (lavender-warmer "#c3bdeb") (lavender-cooler "#aabdff") (lavender-faint "#dee1fb") (lavender-intense "#b0b7ff") (bg-lavender-intense "#3d4599") (bg-lavender-subtle "#1323c4") ;;; 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-macchiatto' 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-macchiatto-palette-overrides nil "Overrides for `ef-catppuccin-macchiatto-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-macchiatto ef-catppuccin-macchiatto-palette ef-catppuccin-macchiatto-palette-overrides) (provide-theme 'ef-catppuccin-macchiatto))