;;; jao-light-theme.el --- a light theme  -*- lexical-binding: t; -*-

;; Author: jao <mail@jao.io>
;; Keywords: themes

;; This program 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.

;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.

(jao-define-custom-theme jao-light
  (:names (dimm-background "#f4f4f4")
          (dimm-background-2 "#f0f0f0")
          (dimm-background-3 "#f6f6f6")
          (dimm-background-4 "#fafafa")
          (yellowish-background "#fffff8")
          (link "#00552a")
          (yellow "#fdf6e3")
          (pale-yellow "#fff8e5")
          (paler-yellow "#fffff8")
          (green "#005555")
          (slate "dark slate gray")
          (light-green "darkolivegreen4")
          (greyish "#626262")
          (blueish "deepskyblue4")
          (blue "#819cd6")
          (blue2 "#51afef")
          (pale-blue "azure2")
          (dark-blue "#616c96")
          (dark-blue-1 "#2257A0")
          (dark-blue-2 "#023770")
          (keywords "lightsteelblue4")
          (keywords2 "#2257A0")
          (functions "#005555")
          (red "salmon3")
          (red2 "sienna4"))
  (:palette (fg unspecified "black")
            (bg unspecified "white")
            ;; (bg unspecified "#fffff8")
            (box "grey90" "grey88")
            (button ((c "grey10" dimm-background-4) bx nit))
            (hilite ((c nil dimm-background)))
            (strike-through ((c 1)) (st))
            (italic (it))
            (link ((c dark-blue-2) (ul "grey80") nbf))
            (visited-link ((c dark-blue-1) nul nbf))
            (tab-sel ((~ mode-line)))
            (tab-unsel ((~ mode-line-inactive)))
            (comment ((c greyish) it))
            (keyword ((c dark-blue-2) nbf))
            (type ((c nil) nbf))
            (function ((c green nil) nbf))
            (variable-name ((c "black")))
            (constant ((c 23)))
            (string ((c link)))
            (warning ((c red2)))
            (error ((c red)))
            (dimm ((c "lemonchiffon4")))
            (gnus-mail ((c "black")))
            (gnus-news ((c "black")))
            (outline ((c "black") nbf))
            (outline-1 (~ bold) ((c dark-blue-1) nit))
            (outline-2 ((c functions) nit nbf))
            (outline-3 ((c link) nit nbf))
            (outline-4 ((c nil) it nbf))
            (outline-5 ((c nil)))
            (f00 ((c slate)))
            (f01 ((c dark-blue-2)))
            (f02 ((c green)))
            (f10 ((p f00)))
            (f11 ((p f01)))
            (f12 ((p f02))))
  (:faces (mode-line (c nil dimm-background) ;; "ghost white"
                     :box (:line-width 1 :color "grey80"))
          (mode-line-inactive (c "grey40" dimm-background-2)
                              :box (:line-width 1 :color "grey85"))
          (mode-line-buffer-id (~ mode-line) nit)
          (mode-line-emphasis it)
          (mode-line-highlight (c green nil)))
  (:x-faces (bold bf)
            (compilation-info (c "#223142" nil) nbf)
            (company-scrollbar-bg (c nil "grey95"))
            (company-scrollbar-fg (c nil "grey90"))
            (corfu-background (~ default) (c "black" "grey95"))
            (corfu-bar (c nil "grey80")) ;; moving part of the bar
            (corfu-border (~ corfu-background)) ;; background of the bar
            (corfu-current (c "black" "grey95") nbf nit (ul "grey70"))
            (cursor (c "sienna3" "sienna3"))
            (diary (p error) nbf)
            (diff-hl-change (c "white" pale-blue))
            (diff-hl-insert (c "white" "honeydew2"))
            (diff-hl-delete (c "white" "wheat1"))
            (fill-column-indicator (c "grey80"))
            (fringe (c "grey70" nil))
            (gnus-button (p link) nul)
            (gnus-cite-1 (c "darkslategray"))
            (gnus-cite-2 (c "slate gray"))
            (gnus-cite-3 (c "slate gray"))
            (gnus-cite-4 (c "slate gray"))
            (gnus-summary-selected (c green) nbf)
            (gnus-summary-cancelled (c "sienna3") st)
            (haskell-type-face (p f12))
            (header-line (c nil "#efebe7"))
            (lui-track-bar (p dimm) :height 0.2 nul nil ex)
            (magit-diff-context-highlight (c nil yellow) ex)
            (magit-diff-hunk-heading-highlight (c nil yellow) it bf)
            (mode-line (c "grey30" dimm-background-3)
                       :box (:line-width -1 :color "grey90"))
            (mode-line-inactive (c "grey40" dimm-background-4)
                                :box (:line-width -1 :color "grey90"))
            (mode-line-buffer-id (~ default) (c dark-blue-2) nit)
            (mode-line-emphasis (c green nil))
            (mode-line-highlight (c green nil))
            (org-link (p link) (ul "grey80"))
            (scroll-bar (c "grey80"))
            (show-paren-match (c nil "grey85"))
            (success (p f00))
            (vertical-border (c "grey70" nil))
            (warning (c "burlywood4"))))

;; (enable-theme 'jao-light)

(provide 'jao-light-theme)