192 lines
8.3 KiB
EmacsLisp
192 lines
8.3 KiB
EmacsLisp
;;; naysayer-light-theme.el --- The naysayer light color theme
|
|
|
|
;; Author: Nick Aversano <nickav@users.noreply.github.com>
|
|
;; Version: 0.33
|
|
;; Filename: naysayer-light-theme.el
|
|
;; Package-Requires: ((emacs "24"))
|
|
;; URL: https://github.com/nickav/naysayer-theme.el
|
|
;; License: GPL-3+
|
|
|
|
;;; Commentary:
|
|
|
|
;; Light version of the naysayer theme. Bright color scheme with warm tones.
|
|
|
|
;;; Code:
|
|
|
|
(unless (>= emacs-major-version 24)
|
|
(error "The naysayer theme requires Emacs 24 or later!"))
|
|
|
|
(deftheme naysayer-light "The naysayer light color theme")
|
|
|
|
;; Monokai colors
|
|
(defcustom naysayer-theme-yellow "#E6DB74" "Primary colors - yellow" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-orange "#FD971F" "Primary colors - orange" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-red "#F92672" "Primary colors - red" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-magenta "#FD5FF0" "Primary colors - magenta" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-blue "#66D9EF" "Primary colors - blue" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-green "#A6E22E" "Primary colors - green" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-cyan "#A1EFE4" "Primary colors - cyan" :type 'string :group 'monokai)
|
|
(defcustom naysayer-theme-violet "#AE81FF" "Primary colors - violet" :type 'string :group 'monokai)
|
|
|
|
(let ((background "#fafaf5")
|
|
(gutters "#fafaf5")
|
|
(gutter-fg "#8b7355")
|
|
(gutters-active "#f0f0e8")
|
|
(builtin "#003030")
|
|
(selection "#c8e8c8")
|
|
(text "#5a4a3a")
|
|
(comments "#18a010")
|
|
(punctuation "#18a010")
|
|
(keywords "#B05A00")
|
|
(variables "#5a4a3a")
|
|
(functions "#000000")
|
|
(methods "#000000")
|
|
(strings "#0c7060")
|
|
(constants "#003030")
|
|
(macros "#18a010")
|
|
(numbers "#003030")
|
|
(white "#000000")
|
|
(error "#c05040")
|
|
(warning "#c05040")
|
|
(highlight-line "#e8f4e8")
|
|
(line-fg "#70a070")
|
|
(modeline-bg "#18a010")
|
|
(modeline-fg "#fafaf5"))
|
|
|
|
(custom-theme-set-faces
|
|
'naysayer-light
|
|
|
|
;; Default colors
|
|
;; *****************************************************************************
|
|
|
|
`(default ((t (:foreground ,text :background ,background, :weight normal))))
|
|
`(region ((t (:foreground nil :background ,selection))))
|
|
`(cursor ((t (:background ,white ))))
|
|
`(fringe ((t (:background ,background :foreground ,white))))
|
|
`(linum ((t (:background ,background :foreground ,gutter-fg))))
|
|
`(highlight ((t (:foreground nil :background ,selection))))
|
|
|
|
;; Font lock faces
|
|
;; *****************************************************************************
|
|
|
|
`(font-lock-keyword-face ((t (:foreground ,keywords))))
|
|
`(font-lock-type-face ((t (:foreground ,punctuation))))
|
|
`(font-lock-constant-face ((t (:foreground ,constants))))
|
|
`(font-lock-variable-name-face ((t (:foreground ,variables))))
|
|
`(font-lock-builtin-face ((t (:foreground ,builtin))))
|
|
`(font-lock-string-face ((t (:foreground ,strings))))
|
|
`(font-lock-comment-face ((t (:foreground ,comments))))
|
|
`(font-lock-comment-delimiter-face ((t (:foreground ,comments))))
|
|
`(font-lock-doc-face ((t (:foreground ,comments))))
|
|
`(font-lock-function-name-face ((t (:foreground ,functions))))
|
|
`(font-lock-doc-string-face ((t (:foreground ,strings))))
|
|
`(font-lock-preprocessor-face ((t (:foreground ,macros))))
|
|
`(font-lock-warning-face ((t (:foreground ,warning))))
|
|
|
|
;; Plugins
|
|
;; *****************************************************************************
|
|
`(trailing-whitespace ((t (:foreground nil :background ,warning))))
|
|
`(whitespace-trailing ((t (:background nil :foreground ,warning :inverse-video t))))
|
|
|
|
`(linum ((t (:foreground ,line-fg :background ,background))))
|
|
`(linum-relative-current-face ((t (:foreground ,white :background ,background))))
|
|
`(line-number ((t (:foreground ,line-fg :background ,background))))
|
|
`(line-number-current-line ((t (:foreground ,white :background ,background))))
|
|
|
|
;; hl-line-mode
|
|
`(hl-line ((t (:background ,highlight-line))))
|
|
`(hl-line-face ((t (:background ,highlight-line))))
|
|
|
|
;; rainbow-delimiters
|
|
`(rainbow-delimiters-depth-1-face ((t (:foreground ,naysayer-theme-violet))))
|
|
`(rainbow-delimiters-depth-2-face ((t (:foreground ,naysayer-theme-blue))))
|
|
`(rainbow-delimiters-depth-3-face ((t (:foreground ,naysayer-theme-green))))
|
|
`(rainbow-delimiters-depth-4-face ((t (:foreground ,naysayer-theme-yellow))))
|
|
`(rainbow-delimiters-depth-5-face ((t (:foreground ,naysayer-theme-orange))))
|
|
`(rainbow-delimiters-depth-6-face ((t (:foreground ,naysayer-theme-red))))
|
|
`(rainbow-delimiters-depth-7-face ((t (:foreground ,naysayer-theme-violet))))
|
|
`(rainbow-delimiters-depth-8-face ((t (:foreground ,naysayer-theme-blue))))
|
|
`(rainbow-delimiters-depth-9-face ((t (:foreground ,naysayer-theme-green))))
|
|
`(rainbow-delimiters-depth-10-face ((t (:foreground ,naysayer-theme-yellow))))
|
|
`(rainbow-delimiters-depth-11-face ((t (:foreground ,naysayer-theme-orange))))
|
|
`(rainbow-delimiters-depth-12-face ((t (:foreground ,naysayer-theme-red))))
|
|
|
|
;; which-func
|
|
`(which-func ((t (:inverse-video unspecified
|
|
:underline unspecified
|
|
:foreground ,background
|
|
:weight bold
|
|
:box nil))))
|
|
|
|
;; mode-line and powerline
|
|
`(mode-line-buffer-id ((t (:foreground ,modeline-fg :distant-foreground ,modeline-bg :text ,modeline-fg :weight bold))))
|
|
`(mode-line ((t (:inverse-video unspecified
|
|
:underline unspecified
|
|
:foreground ,modeline-fg
|
|
:background ,modeline-bg
|
|
:box nil))))
|
|
`(powerline-active1 ((t (:background ,modeline-bg :foreground ,modeline-fg))))
|
|
`(powerline-active2 ((t (:background ,modeline-bg :foreground ,modeline-fg))))
|
|
|
|
`(mode-line-inactive ((t (:inverse-video unspecified
|
|
:underline unspecified
|
|
:foreground ,text
|
|
:background ,background
|
|
:box nil))))
|
|
`(powerline-inactive1 ((t (:background ,background :foreground ,text))))
|
|
`(powerline-inactive2 ((t (:background ,background :foreground ,text))))
|
|
|
|
;; better compatibility with default DOOM mode-line
|
|
`(error ((t (:foreground nil :weight normal))))
|
|
`(doom-modeline-project-dir ((t (:foreground nil :weight bold))))
|
|
|
|
;; js2-mode
|
|
`(js2-function-call ((t (:inherit (font-lock-function-name-face)))))
|
|
`(js2-function-param ((t (:foreground ,text))))
|
|
`(js2-jsdoc-tag ((t (:foreground ,keywords))))
|
|
`(js2-jsdoc-type ((t (:foreground ,constants))))
|
|
`(js2-jsdoc-value((t (:foreground ,text))))
|
|
`(js2-object-property ((t (:foreground ,text))))
|
|
`(js2-external-variable ((t (:foreground ,constants))))
|
|
`(js2-error ((t (:foreground ,error))))
|
|
`(js2-warning ((t (:foreground ,warning))))
|
|
|
|
;; highlight numbers
|
|
`(highlight-numbers-number ((t (:foreground ,numbers))))
|
|
|
|
;; tab-bar-mode
|
|
`(tab-bar ((t (:inherit modeline))))
|
|
`(tab-bar-tab ((t (:foreground ,modeline-fg :background ,modeline-bg))))
|
|
`(tab-bar-tab-inactive ((t (:foreground ,text :background ,background))))
|
|
)
|
|
|
|
(custom-theme-set-faces
|
|
'naysayer-light
|
|
`(my-elisp-plist-keyword-face ((t (:foreground ,keywords)))))
|
|
|
|
(font-lock-add-keywords
|
|
'emacs-lisp-mode
|
|
'(("\\(:[a-zA-Z0-9-]+\\)" 1 'my-elisp-plist-keyword-face)))
|
|
|
|
(custom-theme-set-variables
|
|
'naysayer-light
|
|
'(linum-format " %5i ")
|
|
)
|
|
)
|
|
|
|
;;;###autoload
|
|
(when (and (boundp 'custom-theme-load-path) load-file-name)
|
|
(add-to-list 'custom-theme-load-path
|
|
(file-name-as-directory (file-name-directory load-file-name))))
|
|
|
|
;; *****************************************************************************
|
|
|
|
(provide-theme 'naysayer-light)
|
|
|
|
;; Local Variables:
|
|
;; no-byte-compile: t
|
|
;; End:
|
|
|
|
(provide 'naysayer-light-theme)
|
|
|
|
;;; naysayer-light-theme.el ends here
|