;;; dark-default.el ---  -*- lexical-binding: t -*-

;; Copyright (C) 2020 Benson Chu

;; Author: Benson Chu <bensonchu457@gmail.com>
;; Created: [2020-01-02 15:06]

;; This file is not part of GNU Emacs

;; 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/>.

;;; Commentary:

;;; Code:


(deftheme dark-default)


(let ((rainbow-purple  "#9E1CB2")
      (rainbow-green   "#47B04B")
      (rainbow-blue    "#1194f6")
      (rainbow-red     "#C90067")
      (rainbow-yellow  "#FFED18")
      (rainbow-orange  "#E7B500")
      (rainbow-7       "#00AA5D")
      (rainbow-8       "#FE7380"))
  (custom-theme-set-faces
   'dark-default
 
   '(default ((t (:foreground "#70FF00" :background "gray8"))))
   '(mode-line-inactive ((t :foreground "gray60" :background "#404045" :inverse-video nil)))
   '(mode-line     ((t :foreground "gray60" :background "black" :inverse-video nil)))
   '(eldoc-highlight-function-argument ((t :foreground "dodger blue")))

   '(sml/charging ((t (:inherit sml/global :foreground "forest green"))))

   ;; TODO: Rework according to prot:
   ;; https://protesilaos.com/codelog/2020-12-27-modus-themes-review-rainbow-delimiters/
   `(rainbow-delimiters-depth-1-face ((t :foreground ,rainbow-purple)))
   `(rainbow-delimiters-depth-2-face ((t :foreground ,rainbow-green)))
   `(rainbow-delimiters-depth-3-face ((t :foreground ,rainbow-blue)))
   `(rainbow-delimiters-depth-4-face ((t :foreground ,rainbow-red)))
   `(rainbow-delimiters-depth-5-face ((t :foreground ,rainbow-yellow)))
   `(rainbow-delimiters-depth-6-face ((t :foreground ,rainbow-blue)))
   `(rainbow-delimiters-depth-7-face ((t :foreground ,rainbow-red)))
   `(rainbow-delimiters-depth-8-face ((t :foreground ,rainbow-8)))

   ;; '(vertico-current ((t :foreground "black" :background "#65a7e2")))
   '(vertico-current ((t :background "gray30")))
   '(completions-common-part ((t :background "#555555")))

   `(orderless-match-face-0 ((t :foreground "#72a4ff" :background "#555555")))
   `(orderless-match-face-1 ((t :foreground "#ed92f8" :background "#555555")))
   `(orderless-match-face-2 ((t :foreground "#90d800" :background "#555555")))
   `(orderless-match-face-3 ((t :foreground "#f0ce43" :background "#555555")))

   '(org-todo ((t (:foreground "Pink" :bold t))))

   '(opr/STUFF-todo-face ((t :foreground "goldenrod")))
   '(opr/FUTURE-todo-face ((t :foreground "medium spring green")))
   '(opr/NEXT-todo-face ((t :foreground "cyan")))
   '(opr/WAIT-todo-face ((t :foreground "yellow")))
   
   '(opr/ONE-todo-face ((t :foreground "royal blue")))
   
   '(opr/CLOCK-todo-face ((t :foreground "dark gray")))
   '(opr/INACT-todo-face ((t :foreground "dark gray")))
   '(opr/BACKLOG-todo-face ((t :foreground "dark gray")))
   '(opr/BLOCKED-todo-face ((t :foreground "dark gray")))
   '(opr/ABANDON-todo-face ((t :foreground "dark gray")))
   
   '(opr/META-todo-face ((t :foreground "white")))
   '(opr/SEQ-todo-face ((t :foreground "white")))
   '(opr/EMPTY-todo-face ((t :foreground "white")))
   '(opr/HOLD-todo-face ((t :foreground "red")))
   
   '(tab-bar ((t :foreground "#70FF00" :background "dark slate gray")))
   '(tab-bar-tab ((t :background "gray6")))
   '(tab-bar-tab-inactive ((t :background "dark slate gray")))

   '(which-func ((t :foreground "cyan"))))
  )

;;###autoload
(when load-file-name
  (add-to-list 'custom-theme-load-path
               (file-name-as-directory (file-name-directory load-file-name))))

(provide-theme 'dark-default)
;;; dark-default-theme.el ends here
