/ carp-theme.el
carp-theme.el
1 ;;; carp-theme.el --- Carp theme -*- lexical-binding: t; -*- 2 3 ;; Copyright (C) 2024 David Goudou 4 5 ;; Author: David Goudou <david.goudou@gmail.com> 6 ;; Version: 0.0.3 7 ;; Package-Requires: ((emacs "29.1")) 8 ;; Homepage: https://codeberg.org/seahorse/carp-theme 9 10 ;; This file is not part of GNU Emacs. 11 12 ;; This program is free software: you can redistribute it and/or modify 13 ;; it under the terms of the GNU General Public License as published by 14 ;; the Free Software Foundation, either version 3 of the License, or 15 ;; (at your option) any later version. 16 17 ;; This program is distributed in the hope that it will be useful, 18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 ;; GNU General Public License for more details. 21 22 ;; You should have received a copy of the GNU General Public License 23 ;; along with this program. If not, see <https://www.gnu.org/licenses/>. 24 25 ;;; Commentary: 26 ;; Carp is a dark, multicoloured theme for GNU Emacs 27 28 ;;; Code: 29 30 (deftheme carp "Carp theme.") 31 32 (let* ((fg "#d6deeb") 33 (bg "#1b191b") 34 (shadow "#958b81") 35 (region "#363B5e") 36 (cursor "#b05080") 37 (hl-line "#476f6c") 38 (blue-0 "#78b0d3") 39 (blue-1 "#6172c6") 40 (green-0 "#97ef9f") 41 (green-1 "#85eac3") 42 (green-2 "#1f7500") 43 (grey-0 "#BDC3C7") 44 (grey-1 "#8B8B8B") 45 (grey-2 "#6C757D") 46 (orange-0 "#f9c686") 47 (orange-1 "#d8893a") 48 (purple-0 "#aa89d6") 49 (pink-0 "#db538e") 50 (red-0 "#d14051") 51 (red-1 "#f44649") 52 (red-2 "#ad034d") 53 (red-3 "#bf466c") 54 (yellow-0 "#fcfa6c")) 55 56 (custom-theme-set-faces 57 'carp 58 `(default ((t (:foreground ,fg :background ,bg)))) 59 `(display-time-date-and-time ((t (:foreground ,grey-2)))) 60 `(diredp-date-time ((t (:foreground ,fg)))) 61 `(dired-directory ((t (:foreground ,blue-0)))) 62 `(diredp-deletion ((t (:foreground ,red-0 :background ,bg)))) 63 `(diredp-dir-heading ((t (:foreground ,yellow-0 :background ,bg)))) 64 `(diredp-dir-name ((t (:foreground ,green-1 :background ,bg)))) 65 `(diredp-dir-priv ((t (:foreground ,green-1 :background ,bg)))) 66 `(diredp-exec-priv ((t (:foreground ,fg :background ,bg)))) 67 `(diredp-file-name ((t (:foreground ,fg)))) 68 `(diredp-file-suffix ((t (:foreground ,fg)))) 69 `(diredp-link-priv ((t (:foreground ,fg)))) 70 `(diredp-number ((t (:foreground ,fg)))) 71 `(diredp-no-priv ((t (:foreground ,fg :background ,bg)))) 72 `(diredp-rare-priv ((t (:foreground ,red-0 :background ,bg)))) 73 `(diredp-read-priv ((t (:foreground ,fg :background ,bg)))) 74 `(diredp-symlink ((t (:foreground ,red-3)))) 75 `(diredp-write-priv ((t (:foreground ,fg :background ,bg)))) 76 `(font-lock-builtin-face ((t (:foreground ,blue-1)))) 77 `(font-lock-comment-face ((t (:foreground ,grey-0 :slant italic)))) 78 `(font-lock-constant-face ((t (:foreground ,orange-1)))) 79 `(font-lock-doc-face ((t (:foreground ,green-0)))) 80 `(font-lock-function-name-face ((t (:foreground ,fg)))) 81 `(font-lock-keyword-face ((t (:foreground ,yellow-0 :slant italic)))) 82 `(font-lock-preprocessor-face ((t (:foreground ,green-1)))) 83 `(font-lock-string-face ((t (:foreground ,pink-0)))) 84 `(font-lock-type-face ((t (:foreground ,orange-0)))) 85 `(font-lock-variable-name-face ((t (:foreground ,fg)))) 86 `(font-lock-warning-face ((t (:foreground ,red-1)))) 87 `(font-lock-regexp-grouping-construct ((t (:foreground ,yellow-0 :bold t)))) 88 `(font-lock-regexp-grouping-backslash ((t (:foreground ,red-0 :bold t)))) 89 `(fringe ((t (:foreground ,fg :background ,bg)))) 90 `(parenthesis ((t (:foreground ,grey-2)))) 91 `(header-line ((t (:foreground ,fg)))) 92 `(highlight ((t (:foreground ,red-1)))) 93 `(highlight-indentation-face ((t (:background ,grey-1)))) 94 `(highlight-indentation-current-column-face ((t (:background ,grey-1)))) 95 `(hl-line ((t (:foreground ,hl-line)))) 96 `(isearch ((t (:foreground ,fg :background ,red-1)))) 97 `(isearch-fail ((t (:background ,red-1)))) 98 `(lazy-highlight ((t (:foreground ,red-1 :background unspecified)))) 99 `(match ((t (:background ,red-1)))) 100 `(minibuffer-prompt ((t (:foreground ,fg)))) 101 `(mode-line ((t (:background unspecified :box unspecified :overline ,shadow)))) 102 `(mode-line-inactive ((t (:foreground ,shadow :background unspecified :box unspecified :overline ,shadow)))) 103 `(org-ellipsis ((t (:foreground ,blue-1 :underline nil)))) 104 `(org-block-begin-line ((t (:slant italic)))) 105 `(org-checkbox ((t (:foreground ,green-1)))) 106 `(org-date ((t (:foreground ,grey-0)))) 107 `(org-document-info-keyword ((t (:foreground ,green-1)))) 108 `(org-document-title ((t (:foreground ,green-1)))) 109 `(org-verbatim ((t (:foreground ,blue-0)))) 110 `(org-code ((t (:foreground ,purple-0)))) 111 `(org-done ((t (:foreground ,green-2)))) 112 `(org-level-1 ((t (:foreground ,blue-0)))) 113 `(org-level-2 ((t (:foreground ,green-0)))) 114 `(org-level-3 ((t (:foreground ,orange-0)))) 115 `(org-level-4 ((t (:foreground ,purple-0)))) 116 `(org-level-5 ((t (:foreground ,red-0)))) 117 `(org-level-6 ((t (:foreground ,yellow-0)))) 118 `(org-link ((t (:foreground ,blue-0)))) 119 `(org-meta-line ((t (:foreground ,grey-0)))) 120 `(org-special-keyword ((t (:foreground ,purple-0)))) 121 `(org-todo ((t (:foreground ,red-3)))) 122 `(region ((t (:foreground unspecified :background ,region)))) 123 `(trailing-whitespace ((t (:background ,red-1)))) 124 `(vertical-border ((t (:foreground ,shadow :background ,shadow)))) 125 `(warning ((t (:foreground ,orange-0)))) 126 `(whitespace-trailing ((t (:background ,red-1)))) 127 `(cursor ((t (:foreground unspecified :background ,cursor)))) 128 `(show-paren-match ((t (:foreground unspecified :background unspecified :underline t :bold t)))) 129 `(rcirc-prompt ((t (:foreground ,fg)))) 130 `(rcirc-server ((t (:foreground ,grey-0 :slant italic)))) 131 `(rcirc-url ((t (:foreground ,blue-0)))) 132 `(rcirc-my-nick ((t (:foreground ,purple-0)))) 133 `(rcirc-nick-in-message ((t (:foreground ,purple-0)))) 134 `(rcirc-nick-in-message-full-line ((t (:foreground ,purple-0)))) 135 `(rcirc-other-nick ((t (:foreground ,blue-1)))))) 136 137 ;;;###autoload 138 (when load-file-name 139 (add-to-list 'custom-theme-load-path 140 (file-name-as-directory (file-name-directory (or load-file-name buffer-file-name))))) 141 142 (provide-theme 'carp) 143 144 ;;; carp-theme.el ends here