Files
lypacamacs/themes/camm/camm4-theme.txt
T
Your Name f3cb5a6e26 IC
2026-05-10 01:05:57 +02:00

153 lines
8.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;;; camm4-theme.el --- A light theme based on the camm4 palette -*- lexical-binding: t; no-byte-compile: t; -*-
(deftheme camm4
"Light theme with a calm, readable palette.
Core colours: blues (005FDB, 3B82F6, 007A8A, 40B7BF) and magenta (8A35B8, D33682).")
(let ((class '((class color) (min-colors 89)))
;; Basic palette
(camm4-bg "#fefcff")
(camm4-fg "#101010")
(camm4-cursor "#f04ceb")
;; ANSI colours (index 01-16)
(camm4-black "#E6EEFF") ; 01 very light blueish grey
(camm4-red "#C82829") ; 02
(camm4-green "#419722") ; 03
(camm4-yellow "#F48925") ; 04
(camm4-blue "#005FDB") ; 05 core blue
(camm4-magenta "#EF89DF") ; 06 core purple
(camm4-cyan "#007A8A") ; 07 core teal/blue
(camm4-white "#4D4D4C") ; 08 dark grey
(camm4-brblack "#e2ecff") ; 09
(camm4-brred "#E53935") ; 10
(camm4-brgreen "#22A653") ; 11
(camm4-bryellow "#FFA200") ; 12
(camm4-brblue "#3B82F6") ; 13 core bright blue
(camm4-brmagenta "#D33682") ; 14 core bright magenta
(camm4-brcyan "#40B7BF") ; 15 core bright teal
(camm4-brwhite "#1D1F21")) ; 16 near black
(custom-theme-set-faces
'camm4
;; Basic faces
`(default ((,class (:background ,camm4-bg :foreground ,camm4-fg))))
`(cursor ((,class (:background ,camm4-cursor))))
`(fringe ((,class (:background ,camm4-bg :foreground ,camm4-white))))
`(region ((,class (:background ,camm4-brblack :foreground ,camm4-fg))))
`(highlight ((,class (:background ,camm4-brblack))))
`(hl-line ((,class (:background ,camm4-brblack))))
`(success ((,class (:foreground ,camm4-brgreen))))
`(warning ((,class (:foreground ,camm4-bryellow))))
`(error ((,class (:foreground ,camm4-brred :weight bold))))
`(link ((,class (:foreground ,camm4-blue :underline t))))
`(link-visited ((,class (:foreground ,camm4-magenta :underline t))))
;; Font lock (syntax highlighting)
`(font-lock-builtin-face ((,class (:foreground ,camm4-cyan))))
`(font-lock-comment-face ((,class (:foreground ,camm4-white :slant italic))))
`(font-lock-comment-delimiter-face ((,class (:inherit font-lock-comment-face))))
`(font-lock-constant-face ((,class (:foreground ,camm4-brblue))))
`(font-lock-doc-face ((,class (:inherit font-lock-comment-face :foreground ,camm4-green))))
`(font-lock-function-name-face ((,class (:foreground ,camm4-brmagenta :weight bold))))
`(font-lock-keyword-face ((,class (:foreground ,camm4-blue :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,camm4-red))))
`(font-lock-preprocessor-face ((,class (:foreground ,camm4-cyan))))
`(font-lock-regexp-grouping-backslash ((,class (:foreground ,camm4-yellow))))
`(font-lock-regexp-grouping-construct ((,class (:foreground ,camm4-red))))
`(font-lock-string-face ((,class (:foreground ,camm4-red :weight semi-light))))
`(font-lock-type-face ((,class (:foreground ,camm4-brcyan :weight normal))))
`(font-lock-variable-name-face ((,class (:foreground ,camm4-magenta))))
`(font-lock-warning-face ((,class (:foreground ,camm4-brred :weight bold))))
;; Mode line
`(mode-line ((,class (:background ,camm4-black :foreground ,camm4-fg :box (:line-width 1 :color ,camm4-white)))))
`(mode-line-inactive ((,class (:background ,camm4-brblack :foreground ,camm4-white :box (:line-width 1 :color ,camm4-brblack)))))
`(mode-line-buffer-id ((,class (:weight bold :foreground ,camm4-brblue))))
`(mode-line-emphasis ((,class (:weight bold))))
`(mode-line-highlight ((,class (:box (:line-width 1 :color ,camm4-brblue)))))
;; Minibuffer, completion, etc.
`(minibuffer-prompt ((,class (:foreground ,camm4-blue :weight bold))))
`(completions-common-part ((,class (:foreground ,camm4-fg))))
`(completions-first-difference ((,class (:foreground ,camm4-brred :weight bold))))
;; Search
`(isearch ((,class (:background ,camm4-bryellow :foreground ,camm4-fg))))
`(isearch-fail ((,class (:background ,camm4-red :foreground ,camm4-bg))))
`(lazy-highlight ((,class (:background ,camm4-yellow :foreground ,camm4-fg :underline t))))
;; Line numbers
`(line-number ((,class (:foreground ,camm4-white :background ,camm4-bg))))
`(line-number-current-line ((,class (:foreground ,camm4-blue :weight bold :background ,camm4-brblack))))
;; Dired
`(dired-header ((,class (:foreground ,camm4-blue :weight bold))))
`(dired-directory ((,class (:foreground ,camm4-brblue :weight bold))))
`(dired-symlink ((,class (:foreground ,camm4-cyan :slant italic))))
;; Org mode
`(org-level-1 ((,class (:foreground ,camm4-brblue :weight bold :height 1.2))))
`(org-level-2 ((,class (:foreground ,camm4-blue :weight bold :height 1.1))))
`(org-level-3 ((,class (:foreground ,camm4-cyan :weight bold))))
`(org-level-4 ((,class (:foreground ,camm4-magenta :weight bold))))
`(org-level-5 ((,class (:foreground ,camm4-brcyan :weight bold))))
`(org-level-6 ((,class (:foreground ,camm4-brmagenta :weight bold))))
`(org-todo ((,class (:foreground ,camm4-brred :weight bold :box t))))
`(org-done ((,class (:foreground ,camm4-brgreen :weight bold :box t))))
`(org-date ((,class (:foreground ,camm4-brblue :underline t))))
`(org-link ((,class (:foreground ,camm4-blue :underline t))))
`(org-tag ((,class (:foreground ,camm4-white :weight normal))))
;; Markdown
`(markdown-header-face-1 ((,class (:inherit org-level-1))))
`(markdown-header-face-2 ((,class (:inherit org-level-2))))
`(markdown-header-face-3 ((,class (:inherit org-level-3))))
`(markdown-link-face ((,class (:inherit link))))
`(markdown-url-face ((,class (:inherit link))))
;; Magit
`(magit-branch-local ((,class (:foreground ,camm4-brblue :weight bold))))
`(magit-branch-remote ((,class (:foreground ,camm4-cyan :weight bold))))
`(magit-tag ((,class (:foreground ,camm4-bryellow :weight bold))))
`(magit-hash ((,class (:foreground ,camm4-white))))
`(magit-diff-added ((,class (:foreground ,camm4-brgreen))))
`(magit-diff-removed ((,class (:foreground ,camm4-brred))))
`(magit-diff-context ((,class (:foreground ,camm4-white))))
`(magit-section-heading ((,class (:foreground ,camm4-blue :weight bold :background ,camm4-brblack))))
`(magit-section-highlight ((,class (:background ,camm4-brblack))))
;; Treesitter (if you use it)
`(tree-sitter-hl-face:function.call ((,class (:foreground ,camm4-brmagenta))))
`(tree-sitter-hl-face:function.builtin ((,class (:foreground ,camm4-cyan))))
`(tree-sitter-hl-face:variable.builtin ((,class (:foreground ,camm4-magenta))))
`(tree-sitter-hl-face:type ((,class (:foreground ,camm4-brcyan))))
`(tree-sitter-hl-face:constant.builtin ((,class (:foreground ,camm4-brblue))))
;; LSP / Flycheck
`(flycheck-error ((,class (:underline (:style wave :color ,camm4-brred)))))
`(flycheck-warning ((,class (:underline (:style wave :color ,camm4-bryellow)))))
`(flycheck-info ((,class (:underline (:style wave :color ,camm4-brblue)))))
`(lsp-face-highlight-textual ((,class (:background ,camm4-brblack :underline t))))
;; Extra
`(show-paren-match ((,class (:background ,camm4-brcyan :foreground ,camm4-bg :weight bold))))
`(show-paren-mismatch ((,class (:background ,camm4-brred :foreground ,camm4-bg :weight bold))))
`(match ((,class (:background ,camm4-yellow :foreground ,camm4-fg))))
`(shadow ((,class (:foreground ,camm4-white))))
`(secondary-selection ((,class (:background ,camm4-brblack))))
`(trailing-whitespace ((,class (:background ,camm4-brred))))
`(vertical-border ((,class (:foreground ,camm4-white))))
`(widget-button ((,class (:foreground ,camm4-blue :weight bold))))
`(widget-field ((,class (:background ,camm4-brblack))))
))
;;;###autoload
(and load-file-name
(boundp 'custom-theme-load-path)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'camm4)
;;; camm4-theme.el ends here