2023-06-26 21:19:43 +01:00
|
|
|
;;; hazakura-theme.el --- The soft yet colorful theme for Emacs.
|
|
|
|
;;; Commentary:
|
|
|
|
;;
|
|
|
|
;; This theme does it's best to make Emacs look beautiful,
|
|
|
|
;; as with every other theme you will ever see.
|
|
|
|
;; One way it does this by making colours stick out, by maintaining
|
|
|
|
;; a stark contrast between foreground and background.
|
|
|
|
;;
|
|
|
|
;; Try it out!
|
|
|
|
;;
|
|
|
|
;;; Code:
|
|
|
|
|
|
|
|
(require 'autothemer)
|
|
|
|
|
|
|
|
(unless (>= emacs-major-version 26)
|
|
|
|
(error "Requires Emacs 26 or later"))
|
|
|
|
|
|
|
|
(autothemer-deftheme
|
|
|
|
hazakura "The soft yet colorful theme for Emacs."
|
|
|
|
|
|
|
|
((((class color) (min-colors #xFFFFFF)))
|
|
|
|
;; Specify the color palette, color columns correspond to each of the classes above.
|
|
|
|
(fg "#ece5ea")
|
|
|
|
(fg-dark "#5c5c61")
|
|
|
|
(fg-dark-alt "#454449")
|
|
|
|
(bg "#151517")
|
2023-06-27 19:37:18 +01:00
|
|
|
(bg-dark "#151517")
|
2023-06-26 21:19:43 +01:00
|
|
|
(bg-light "#27272b")
|
2023-06-28 14:53:35 +01:00
|
|
|
(selection "#242426")
|
2023-06-26 21:19:43 +01:00
|
|
|
(highlight "#5c5c61")
|
2023-06-27 19:37:18 +01:00
|
|
|
(comment "#454449")
|
2023-06-26 21:22:12 +01:00
|
|
|
(hazakura-red "#f06969")
|
|
|
|
(hazakura-green "#91d65c")
|
2023-06-28 14:53:35 +01:00
|
|
|
(hazakura-purple "#a292e8")
|
|
|
|
(hazakura-blue "#78b9c4")
|
2023-06-26 21:22:12 +01:00
|
|
|
(hazakura-magenta "#e887bb")
|
|
|
|
(hazakura-yellow "#d9d564")
|
|
|
|
(hazakura-cyan "#7ee6ae"))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; General
|
|
|
|
((default (:foreground fg :background bg))
|
2023-06-26 21:22:12 +01:00
|
|
|
(link (:foreground hazakura-cyan :underline t))
|
2023-06-26 21:19:43 +01:00
|
|
|
(region (:background selection))
|
|
|
|
(highlight (:background bg-light))
|
2023-06-26 21:22:12 +01:00
|
|
|
(help-key-binding (:background bg :foreground hazakura-magenta :slant 'italic))
|
2023-06-28 14:53:35 +01:00
|
|
|
(font-lock-keyword-face (:foreground hazakura-purple :slant 'italic))
|
2023-06-27 22:52:30 +01:00
|
|
|
(show-paren-match (:foreground hazakura-magenta :weight 'bold :underline t))
|
2023-06-26 21:22:12 +01:00
|
|
|
(show-paren-mismatch (:foreground hazakura-red :weight 'bold))
|
2023-06-27 22:52:30 +01:00
|
|
|
(line-number (:foreground comment :background bg :slant 'italic))
|
|
|
|
(line-number-current-line (:foreground hazakura-magenta :background bg :weight 'bold :slant 'italic))
|
2023-06-26 21:22:12 +01:00
|
|
|
(font-lock-variable-name-face (:foreground hazakura-yellow))
|
|
|
|
(font-lock-warning-face (:foreground hazakura-yellow))
|
2023-06-28 14:53:35 +01:00
|
|
|
(completions-common-part (:foreground hazakura-purple))
|
2023-06-26 21:19:43 +01:00
|
|
|
(completions-first-difference (:foreground fg))
|
2023-06-27 22:52:30 +01:00
|
|
|
(font-lock-constant-face (:foreground hazakura-green))
|
2023-06-26 21:22:12 +01:00
|
|
|
(font-lock-string-face (:foreground hazakura-green))
|
2023-06-28 14:53:35 +01:00
|
|
|
(font-lock-builtin-face (:foreground hazakura-blue))
|
2023-06-26 21:22:12 +01:00
|
|
|
(error (:foreground hazakura-red))
|
|
|
|
(font-lock-type-face (:foreground hazakura-red))
|
2023-06-26 21:19:43 +01:00
|
|
|
(font-lock-comment-face (:foreground comment))
|
|
|
|
(secondary-selection (:foreground highlight))
|
|
|
|
|
|
|
|
;; Isearch
|
2023-06-26 21:22:12 +01:00
|
|
|
(isearch (:foreground hazakura-green :background bg-light :weight 'bold :underline t))
|
|
|
|
(isearch-fail (:foreground hazakura-red :weight 'bold))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Modeline
|
|
|
|
(mode-line (:background bg-light))
|
|
|
|
|
2023-07-01 13:24:04 +01:00
|
|
|
;; NANO-modeline
|
|
|
|
(nano-modeline-active (:box () :foreground fg :background bg-light))
|
|
|
|
(nano-modeline-inactive (:box () :foreground highlight :background bg-light))
|
|
|
|
(nano-modeline-status (:foreground fg :background hazakura-purple :weight 'bold))
|
|
|
|
|
|
|
|
;; Bespoke modeline
|
|
|
|
(bespoke-modeline-active-status-** (:foreground fg :background hazakura-blue :weight 'bold))
|
|
|
|
(bespoke-modeline-active-status-RW (:foreground fg :background hazakura-purple :weight 'bold))
|
|
|
|
(bespoke-modeline-active-status-RO (:foreground fg :background hazakura-magenta :weight 'bold))
|
|
|
|
(bespoke-modeline-inactive (:background bg-light :foreground highlight))
|
|
|
|
(bespoke-modeline-inactive-name (:background bg-light :foreground highlight))
|
|
|
|
(bespoke-modeline-inactive-primary (:background bg-light :foreground highlight))
|
|
|
|
(bespoke-modeline-inactive-secondary (:background bg-light :foreground highlight))
|
|
|
|
|
2023-06-26 21:19:43 +01:00
|
|
|
;; Window
|
2023-06-27 19:37:18 +01:00
|
|
|
(window-divider (:foreground bg :background bg))
|
|
|
|
(window-divider-first-pixel (:foreground bg :background bg))
|
|
|
|
(window-divider-last-pixel (:foreground bg :background bg))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-07-01 16:19:06 +01:00
|
|
|
;; Fringe
|
2023-07-22 22:44:35 +01:00
|
|
|
(fringe (:background fg :foreground fg))
|
2023-07-01 16:19:06 +01:00
|
|
|
|
2023-06-26 21:19:43 +01:00
|
|
|
;; Org mode
|
|
|
|
(org-code (:foreground fg-dark))
|
|
|
|
(org-block (:foreground fg-dark))
|
|
|
|
(org-ellipsis (:foreground fg-dark-alt :weight 'bold))
|
|
|
|
(org-headline-done (:foreground fg))
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-checkbox (:foreground hazakura-magenta))
|
2023-06-28 14:53:35 +01:00
|
|
|
(org-todo (:foreground hazakura-cyan :slant 'normal))
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-done (:foreground hazakura-green :slant 'normal))
|
2023-06-26 21:19:43 +01:00
|
|
|
(org-meta-line (:foreground fg-dark-alt))
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-link (:foreground hazakura-green :underline t :weight 'bold))
|
2023-06-27 22:52:30 +01:00
|
|
|
(org-drawer (:foreground comment))
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-date (:foreground hazakura-magenta))
|
|
|
|
(org-table (:foreground hazakura-cyan))
|
2023-06-26 21:19:43 +01:00
|
|
|
(org-special-keyword (:foreground fg))
|
2023-06-27 22:52:30 +01:00
|
|
|
(org-document-info-keyword (:foreground hazakura-green))
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-list-dt (:foreground hazakura-red))
|
2023-06-28 14:53:35 +01:00
|
|
|
(org-level-1 (:foreground hazakura-purple :weight 'bold))
|
2023-06-27 22:52:30 +01:00
|
|
|
(org-level-2 (:foreground hazakura-cyan :weight 'bold))
|
|
|
|
(org-level-3 (:foreground hazakura-green :weight 'bold))
|
2023-06-26 21:19:43 +01:00
|
|
|
(org-level-4 (:weight 'bold))
|
|
|
|
(org-level-5 (:weight 'bold))
|
|
|
|
(org-level-6 (:weight 'bold))
|
|
|
|
(org-level-7 (:weight 'bold))
|
|
|
|
(org-level-8 (:weight 'bold))
|
|
|
|
(org-document-info (:foreground fg-dark))
|
|
|
|
|
|
|
|
;; Org Superstar
|
2023-06-26 21:22:12 +01:00
|
|
|
(org-superstar-item (:foreground hazakura-yellow))
|
|
|
|
(org-superstar-header-bullet (:foreground hazakura-magenta :slant 'normal))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Markdown
|
2023-06-28 14:53:35 +01:00
|
|
|
(markdown-code-face (:inherit 'default :foreground hazakura-purple))
|
2023-06-27 22:52:30 +01:00
|
|
|
(markdown-header-face (:foreground hazakura-cyan :weight 'bold))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Vertico
|
|
|
|
(vertico-current (:background bg-light))
|
|
|
|
|
|
|
|
;; Minibuffer prompt
|
2023-06-27 22:52:30 +01:00
|
|
|
(minibuffer-prompt (:foreground hazakura-green))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Orderless
|
2023-06-28 14:53:35 +01:00
|
|
|
(orderless-match-face-0 (:foreground hazakura-purple))
|
2023-06-27 22:52:30 +01:00
|
|
|
(orderless-match-face-1 (:foreground hazakura-cyan))
|
|
|
|
(orderless-match-face-2 (:foreground hazakura-green))
|
|
|
|
(orderless-match-face-3 (:foreground hazakura-yellow))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; which-key
|
|
|
|
(which-key-command-description-face (:foreground fg))
|
|
|
|
|
|
|
|
;; Dired
|
2023-06-26 21:22:12 +01:00
|
|
|
(diredfl-read-priv (:foreground hazakura-yellow))
|
|
|
|
(diredfl-dir-heading (:foreground hazakura-magenta :weight 'bold))
|
2023-06-28 14:53:35 +01:00
|
|
|
(diredfl-dir-priv (:foreground hazakura-purple))
|
2023-06-26 21:19:43 +01:00
|
|
|
(diredfl-no-priv (:foreground fg-dark))
|
2023-06-26 21:22:12 +01:00
|
|
|
(diredfl-write-priv (:foreground hazakura-red))
|
|
|
|
(diredfl-exec-priv (:foreground hazakura-green))
|
|
|
|
(diredfl-dir-name (:foreground hazakura-magenta))
|
2023-06-26 21:19:43 +01:00
|
|
|
(diredfl-file-name (:foreground fg))
|
2023-06-26 21:22:12 +01:00
|
|
|
(diredfl-file-suffix (:foreground hazakura-yellow))
|
2023-06-28 14:53:35 +01:00
|
|
|
(diredfl-date-time (:foreground hazakura-purple))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Evil
|
2023-06-26 21:22:12 +01:00
|
|
|
(evil-ex-info (:foreground hazakura-red))
|
2023-06-26 21:19:43 +01:00
|
|
|
(evil-ex-lazy-highlight (:background highlight))
|
2023-06-26 21:22:12 +01:00
|
|
|
(evil-ex-substitute-matches (:strike-through t :weight 'bold :foreground hazakura-yellow))
|
|
|
|
(evil-ex-substitute-replacement (:foreground hazakura-red :weight 'bold))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Eglot
|
2023-06-28 14:53:35 +01:00
|
|
|
(eglot-highlight-symbol-face (:foreground hazakura-purple))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Rustic
|
2023-06-26 21:22:12 +01:00
|
|
|
(rustic-compilation-error (:foreground hazakura-red))
|
|
|
|
(rustic-compilation-warning (:foreground hazakura-yellow))
|
2023-06-26 21:19:43 +01:00
|
|
|
(rustic-compilation-column (:foreground fg-dark))
|
|
|
|
(rustic-compilation-line (:foreground fg-dark))
|
|
|
|
|
|
|
|
;; Git
|
2023-06-26 21:22:12 +01:00
|
|
|
(git-commit-summary (:foreground hazakura-green))
|
|
|
|
(git-commit-overlong-summary (:foreground hazakura-red))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;; Magit
|
2023-07-01 16:19:06 +01:00
|
|
|
(magit-header-line (:foreground fg :weight 'bold :background bg :underline (:color comment)))
|
|
|
|
(magit-diff-file-heading-highlight (:foreground hazakura-purple :weight 'bold))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-28 14:53:35 +01:00
|
|
|
(magit-section-highlight (:foreground hazakura-purple :weight 'bold))
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-section-heading (:foreground hazakura-magenta))
|
2023-06-28 14:53:35 +01:00
|
|
|
(magit-head (:foreground hazakura-purple))
|
2023-06-26 21:19:43 +01:00
|
|
|
(magit-hash (:foreground fg-dark-alt))
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-header-line (:foreground hazakura-yellow))
|
2023-06-28 14:53:35 +01:00
|
|
|
(magit-branch-current (:foreground hazakura-purple))
|
|
|
|
(magit-branch-local (:foreground hazakura-purple))
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-branch-remote (:foreground hazakura-cyan))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-diff-added (:foreground hazakura-green :background bg :slant 'italic))
|
2023-06-26 21:19:43 +01:00
|
|
|
(magit-diff-context (:foreground fg-dark :background bg :slant 'italic))
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-diff-removed (:foreground hazakura-red :background bg :slant 'italic))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
(magit-diff-hunk-heading-highlight (:background bg-dark :foreground hazakura-magenta :weight 'bold))
|
2023-07-01 16:19:06 +01:00
|
|
|
(magit-diff-hunk-heading (:background bg-light :foreground fg-dark))
|
|
|
|
(magit-diff-added-highlight (:background bg-light :foreground hazakura-green))
|
|
|
|
(magit-diff-base-highlight (:background fg :foreground hazakura-blue))
|
|
|
|
(magit-diff-lines-highlight (:background hazakura-cyan))
|
|
|
|
(magit-diff-lines-heading (:background hazakura-blue :foreground fg))
|
|
|
|
(magit-diff-lines-boundary (:background hazakura-blue))
|
|
|
|
(magit-diff-context-highlight (:background bg-light :foreground fg))
|
|
|
|
(magit-diff-removed-highlight (:background bg-light :foreground hazakura-red))
|
2023-06-27 22:52:30 +01:00
|
|
|
|
2023-06-26 21:19:43 +01:00
|
|
|
;; Flycheck
|
2023-06-26 21:22:12 +01:00
|
|
|
(flycheck-inline-info (:foreground hazakura-yellow))
|
|
|
|
(flycheck-inline-warning (:foreground hazakura-magenta))
|
|
|
|
(flycheck-inline-error (:foreground hazakura-red))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
(flycheck-fringe-warning (:foreground hazakura-magenta))
|
|
|
|
(flycheck-fringe-error (:foreground hazakura-red))
|
|
|
|
(flycheck-fringe-info (:foreground hazakura-yellow))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
(flycheck-warning (:underline (:style 'wave :color hazakura-magenta)))
|
|
|
|
(flycheck-info (:underline (:style 'wave :color hazakura-yellow)))
|
|
|
|
(flycheck-error (:underline (:style 'wave :color hazakura-red)))))
|
2023-06-26 21:19:43 +01:00
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
(and load-file-name
|
|
|
|
(boundp 'custom-theme-load-path)
|
|
|
|
(add-to-list 'custom-theme-load-path
|
|
|
|
(file-name-as-directory
|
|
|
|
(file-name-directory load-file-name))))
|
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
(provide-theme 'hazakura)
|
2023-06-26 21:19:43 +01:00
|
|
|
|
2023-06-26 21:22:12 +01:00
|
|
|
;;; hazakura-theme.el ends here
|