;;; doom-zen-writer-theme.el --- -*- lexical-binding: t; no-byte-compile: t; -*- ;; ;; Author: Yann Esposito ;; Created: October 24, 2021 ;; Version: 1.0.0 ;; Keywords: custom themes, faces ;; Homepage: https://github.com/hlissner/emacs-doom-themes ;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) ;; ;;; Code: (require 'doom-themes) ;; ;;; Variables (defgroup doom-plain-theme nil "Options for the `doom-plain' theme." :group 'doom-themes) (defcustom doom-plain-padded-modeline doom-themes-padded-modeline "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." :group 'doom-plain-theme :type '(or integer boolean)) ;; ;;; Theme definition (def-doom-theme doom-zen-writer "Theme inspired by gko's plain." ;; name default/256/16 ((bg '("#ffffff")) (bg-alt '("#eaecea")) (base0 '("#969896")) (base1 '("#f1f3f5")) (base2 '("#606666")) (base3 '("#cccccc")) (base4 '("#e7e7e7")) (base5 '("#a5a8a6")) (base6 '("#fafafa")) (base7 '("#dfdfdf")) (base8 '("#fafafa")) (fg '("#969896")) (fg-alt (doom-lighten fg 0.15)) (grey fg) (red fg) (blue fg) (dark-blue fg) (orange fg) (green fg) (teal fg) (yellow fg) (magenta fg) (violet fg) (cyan fg) (dark-cyan fg) ;; face categories -- required for all themes (highlight base2) (vertical-bar base5) (selection base1) (builtin base0) (comments base5) (doc-comments base5) (constants base0) (functions fg) (keywords fg) (methods fg) (operators fg) (type fg) (strings base0) (variables base0) (numbers base0) (region base4) (error (doom-blend fg "#ff0000" 0.4)) (warning base2) (success green) (vc-modified base5) (vc-added (doom-lighten fg 0.7)) (vc-deleted base2) ;; custom categories (-modeline-pad (when doom-plain-padded-modeline (if (integerp doom-plain-padded-modeline) doom-plain-padded-modeline 4))) (modeline-bg (doom-darken bg-alt 0.15)) (modeline-bg-alt (doom-darken bg-alt 0.1)) (modeline-bg-inactive (doom-darken bg-alt 0.1)) (modeline-bg-inactive-alt bg-alt) (modeline-fg fg) (modeline-fg-alt (doom-darken modeline-bg-inactive 0.35))) ;;;; Base theme face overrides ((error :underline `(:style wave :color ,error)) (warning :underline `(:style wave :color ,warning)) (hl-sentence :foreground "#000000" :background bg) ((font-lock-constant-face &override) :slant 'italic) ((font-lock-comment-face &override) :slant 'italic) ((font-lock-function-name-face &override) :slant 'italic) ((font-lock-type-face &override) :slant 'italic) (hl-line :background base8) ((line-number &override) :foreground base3) ((line-number-current-line &override) :foreground base2) (mode-line :background modeline-bg :foreground modeline-fg :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg))) (mode-line-inactive :background modeline-bg-inactive :foreground modeline-fg-alt :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive))) (mode-line-emphasis :foreground highlight) ;;;; doom-modeline (doom-modeline-bar :background modeline-bg) (doom-modeline-bar-inactive :inherit 'doom-modeline-bar) (doom-modeline-project-dir :foreground fg) (doom-modeline-buffer-file :foreground fg) (doom-modeline-buffer-modified :weight 'bold :foreground "#000000") (doom-modeline-panel :inherit 'mode-line-highlight :background base3 :foreground fg) ;;;; ivy (ivy-posframe :background bg-alt) ;;;; magit ((magit-diff-added-highlight &override) :foreground fg :background (doom-blend vc-added bg 0.3)) ((magit-diff-removed &override) :foreground (doom-lighten fg 0.4) :background (doom-blend vc-deleted bg 0.1)) ((magit-diff-removed-highlight &override) :foreground fg :background (doom-blend vc-deleted bg 0.22)) ;;;; lsp-mode (lsp-headerline-breadcrumb-symbols-face :foreground keywords :weight 'bold) ;;;; outline (outline-1 :slant 'italic :foreground fg-alt) (outline-2 :inherit 'outline-1 :foreground base2) (outline-3 :inherit 'outline-2) (outline-4 :inherit 'outline-3) (outline-5 :inherit 'outline-4) (outline-6 :inherit 'outline-5) (outline-7 :inherit 'outline-6) (outline-8 :inherit 'outline-7) ;;;; org ((org-block &override) :background bg-alt) ((org-block-begin-line &override) :foreground base5) ;;;; solaire-mode (solaire-mode-line-face :inherit 'mode-line :background modeline-bg-alt :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt))) (solaire-mode-line-inactive-face :inherit 'mode-line-inactive :background modeline-bg-inactive-alt :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-alt))))) ;;; doom-plain-theme.el ends here