summaryrefslogtreecommitdiff
path: root/.emacs.d/themes/naysayer-theme.el
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2024-11-06 13:55:15 -0500
committerJacob McDonnell <jacob@jacobmcdonnell.com>2024-11-06 13:55:15 -0500
commitc285815a9fc8c0e14ea0714f8990694270c77c70 (patch)
tree9dfd271e6f18e8bc4a392f5d29cb9de2d5c788ed /.emacs.d/themes/naysayer-theme.el
parent69ea2d19de8c3321e59b92773c6b46ca0c9df6fc (diff)
iterm2 Colors and Emacs Config
Diffstat (limited to '.emacs.d/themes/naysayer-theme.el')
-rw-r--r--.emacs.d/themes/naysayer-theme.el182
1 files changed, 182 insertions, 0 deletions
diff --git a/.emacs.d/themes/naysayer-theme.el b/.emacs.d/themes/naysayer-theme.el
new file mode 100644
index 0000000..5af5de3
--- /dev/null
+++ b/.emacs.d/themes/naysayer-theme.el
@@ -0,0 +1,182 @@
+;;; naysayer-theme.el --- The naysayer color theme
+
+;; Author: Nick Aversano <nickav@users.noreply.github.com>
+;; Version: 0.33
+;; Filename: naysayer-theme.el
+;; Package-Requires: ((emacs "24"))
+;; URL: https://github.com/nickav/naysayer-theme.el
+;; License: GPL-3+
+
+;;; Commentary:
+
+;; Dark green blue color scheme with tan colors. Inspired by Jonathan Blow's compiler livestreams.
+
+;;; Code:
+
+(unless (>= emacs-major-version 24)
+ (error "The naysayer theme requires Emacs 24 or later!"))
+
+(deftheme naysayer "The naysayer 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 "#062329")
+ (gutters "#062329")
+ (gutter-fg "#062329")
+ (gutters-active "#062329")
+ (builtin "#ffffff")
+ (selection "#0000ff")
+ (text "#d1b897")
+ (comments "#44b340")
+ (punctuation "#8cde94")
+ (keywords "#ffffff")
+ (variables "#c1d1e3")
+ (functions "#ffffff")
+ (methods "#c1d1e3")
+ (strings "#2ec09c")
+ (constants "#7ad0c6")
+ (macros "#8cde94")
+ (numbers "#7ad0c6")
+ (white "#ffffff")
+ (error "#ff0000")
+ (warning "#ffaa00")
+ (highlight-line "#0b3335")
+ (line-fg "#126367"))
+
+ (custom-theme-set-faces
+ 'naysayer
+
+ ;; 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 ,background :distant-foreground ,text :text ,text :weight bold))))
+ `(mode-line ((t (:inverse-video unspecified
+ :underline unspecified
+ :foreground ,background
+ :background ,text
+ :box nil))))
+ `(powerline-active1 ((t (:background ,text :foreground ,background))))
+ `(powerline-active2 ((t (:background ,text :foreground ,background))))
+
+ `(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 ,background :background ,text))))
+ `(tab-bar-tab-inactive ((t (:foreground ,text :background ,background))))
+ )
+
+ (custom-theme-set-variables
+ 'naysayer
+ '(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)
+
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
+
+(provide 'naysayer-theme)
+
+;;; naysayer-theme.el ends here