Files
dotfiles/.emacs.d/themes/focus-theme.el

139 lines
5.4 KiB
EmacsLisp

;;; focus-theme.el --- Focus dark color theme -*- lexical-binding: t; -*-
;;; Commentary:
;; Default theme from the Focus Editor.
;;
;; https://focus-editor.dev/
;; https://github.com/focus-editor/focus
;;; Code:
(deftheme focus
"Focus dark color theme.")
(custom-theme-set-faces
'focus
;; Basic faces
'(default ((t (:foreground "#BFC9DB" :background "#15212A"))))
'(cursor ((t (:background "#26B2B2"))))
'(region ((t (:background "#1C4449"))))
'(hl-line ((t (:background "#18262F"))))
'(highlight ((t (:background "#1C4449"))))
'(secondary-selection ((t (:background "#1C4449"))))
'(lazy-highlight ((t (:background "#8E772E"))))
'(isearch ((t (:background "#8E772E" :foreground "#FFFFFF"))))
'(isearch-fail ((t (:background "#772222"))))
'(match ((t (:background "#1C4449"))))
;; Mode line
'(mode-line ((t (:background "#1C303A" :foreground "#BFC9DB"))))
'(mode-line-inactive ((t (:background "#10191F" :foreground "#87919D"))))
'(mode-line-buffer-id ((t (:foreground "#BFC9DB" :weight bold))))
;; Borders and dividers
'(vertical-border ((t (:foreground "#10191F"))))
'(fringe ((t (:background "#15212A"))))
'(window-divider ((t (:foreground "#1C4449"))))
'(window-divider-first-pixel ((t (:foreground "#15212A"))))
'(window-divider-last-pixel ((t (:foreground "#1C4449"))))
;; Tab line
'(tab-line ((t (:background "#1A2831" :foreground "#BFC9DB"))))
'(tab-line-tab ((t (:background "#1A2831" :foreground "#BFC9DB"))))
'(tab-line-tab-current ((t (:background "#21333F" :foreground "#BFC9DB"))))
'(tab-line-tab-inactive ((t (:background "#10191F" :foreground "#87919D"))))
;; Line numbers
'(line-number ((t (:foreground "#87919D" :background "#15212A"))))
'(line-number-current-line ((t (:foreground "#BFC9DB" :background "#18262F"))))
;; Font lock faces
'(font-lock-builtin-face ((t (:foreground "#E0AD82"))))
'(font-lock-comment-face ((t (:foreground "#87919D"))))
'(font-lock-comment-delimiter-face ((t (:foreground "#87919D"))))
'(font-lock-doc-face ((t (:foreground "#87919D"))))
'(font-lock-string-face ((t (:foreground "#D4BC7D"))))
'(font-lock-keyword-face ((t (:foreground "#E67D74"))))
'(font-lock-function-name-face ((t (:foreground "#D0C5A9"))))
'(font-lock-variable-name-face ((t (:foreground "#BFC9DB"))))
'(font-lock-constant-face ((t (:foreground "#D699B5"))))
'(font-lock-type-face ((t (:foreground "#82AAA3"))))
'(font-lock-warning-face ((t (:foreground "#F8AD34"))))
'(font-lock-negation-char-face ((t (:foreground "#E67D74"))))
'(font-lock-preprocessor-face ((t (:foreground "#E67D74"))))
'(font-lock-regexp-grouping-backslash ((t (:foreground "#E0AD82"))))
'(font-lock-regexp-grouping-construct ((t (:foreground "#E0AD82"))))
;; Parenthesis matching
'(show-paren-match ((t (:background "#1C4449" :foreground "#FFFFFF"))))
'(show-paren-mismatch ((t (:background "#772222" :foreground "#FFFFFF"))))
;; Minibuffer
'(minibuffer-prompt ((t (:foreground "#26B2B2"))))
;; Compilation
'(compilation-info ((t (:foreground "#227722"))))
'(compilation-warning ((t (:foreground "#F8AD34"))))
'(compilation-error ((t (:foreground "#FF0000"))))
'(compilation-mode-line-exit ((t (:foreground "#227722"))))
'(compilation-mode-line-fail ((t (:foreground "#772222"))))
;; Flymake
'(flymake-error ((t (:underline (:style wave :color "#772222")))))
'(flymake-warning ((t (:underline (:style wave :color "#986032")))))
'(flymake-note ((t (:underline (:style wave :color "#87919D")))))
;; Flyspell
'(flyspell-incorrect ((t (:underline (:style wave :color "#772222")))))
'(flyspell-duplicate ((t (:underline (:style wave :color "#986032")))))
;; Vertico
'(vertico-current ((t (:background "#1C4449" :foreground "#BFC9DB"))))
'(vertico-group-title ((t (:foreground "#599999"))))
'(vertico-group-separator ((t (:foreground "#3A4255"))))
'(completions-common-part ((t (:foreground "#26B2B2"))))
'(completions-first-difference ((t (:foreground "#E0AD82" :weight bold))))
;; Dired
'(dired-directory ((t (:foreground "#82AAA3"))))
'(dired-symlink ((t (:foreground "#26B2B2"))))
'(dired-ignored ((t (:foreground "#87919D"))))
;; Diff
'(diff-added ((t (:background "#226022" :foreground "#BFC9DB"))))
'(diff-removed ((t (:background "#772222" :foreground "#BFC9DB"))))
'(diff-changed ((t (:background "#986032" :foreground "#BFC9DB"))))
'(diff-header ((t (:background "#1A2831" :foreground "#BFC9DB"))))
'(diff-file-header ((t (:background "#21333F" :foreground "#BFC9DB"))))
'(diff-hunk-header ((t (:background "#1C4449" :foreground "#BFC9DB"))))
;; Ediff
'(ediff-current-diff-A ((t (:background "#772222"))))
'(ediff-current-diff-B ((t (:background "#226022"))))
'(ediff-current-diff-C ((t (:background "#986032"))))
'(ediff-fine-diff-A ((t (:background "#993333"))))
'(ediff-fine-diff-B ((t (:background "#338033"))))
'(ediff-fine-diff-C ((t (:background "#B87842"))))
;; Eglot
'(eglot-highlight-symbol-face ((t (:background "#1C4449"))))
;; Link
'(link ((t (:foreground "#26B2B2" :underline t))))
'(link-visited ((t (:foreground "#D699B5" :underline t))))
;; Custom/widget faces
'(custom-group-tag ((t (:foreground "#82AAA3" :weight bold))))
'(custom-variable-tag ((t (:foreground "#82AAA3" :weight bold))))
'(widget-field ((t (:background "#21333F" :foreground "#BFC9DB"))))
'(widget-single-line-field ((t (:background "#21333F" :foreground "#BFC9DB"))))
;; Error, warning, success
'(error ((t (:foreground "#FF0000"))))
'(warning ((t (:foreground "#F8AD34"))))
'(success ((t (:foreground "#227722")))))
(provide-theme 'focus)
;;; focus-theme.el ends here