From dc59711f1834ff065bd007d02173b5457ddbc132 Mon Sep 17 00:00:00 2001 From: zongor Date: Thu, 13 Apr 2023 20:49:57 -0400 Subject: [PATCH] add emacs theme --- mazarbul-theme.el | 159 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 mazarbul-theme.el diff --git a/mazarbul-theme.el b/mazarbul-theme.el new file mode 100644 index 0000000..4295b4e --- /dev/null +++ b/mazarbul-theme.el @@ -0,0 +1,159 @@ +;;; mazarbul.el --- Drums in the deep, they are coming... + +(setq col_fore "#f8f8f2") +(setq col_fore< "#bdbdb1") +(setq col_fore<< "#ababa0") +(setq col_fore<<< "#999990") +(setq col_gry "#bbbbb0") + +(setq col_back>>> "#545550") +(setq col_back>> "#363631") +(setq col_back> "#454640") +(setq col_back "#262620") +(setq col_back< "#646460") + +(setq col_grn "#9ce22e") +(setq col_blu "#66d9ef") +(setq col_pur "#a281ff") +(setq col_pin "#fd4d80") +(setq col_mag "#db2765") +(setq col_red "#ff0000") +(setq col_org "#ff843b") +(setq col_ylw "#e6db74") + +(deftheme mazarbul + "Drums in the deep, they are coming...") + +(custom-theme-set-variables + 'mazarbul +) + +(custom-theme-set-faces + 'mazarbul + +;; Main window colors + `(default ((t (:foreground ,col_fore + :background ,col_back)))) + `(fringe ((t (:background ,col_back<)))) + `(vertical-border ((t (:background ,col_back<)))) + `(cursor ((t (:background ,col_fore<<)))) + +;; search and highlighting + `(region ((t (:background ,col_back>>>)))) + `(isearch ((t (:background ,col_blu + :foreground ,col_fore)))) + `(highlight ((t (:background ,col_back>>>)))) + `(lazy-highlight ((t (:background ,col_back>>>)))) + +;; main keywords + `(font-lock-package-name-face ((t (:foreground ,col_blu)))) + `(font-lock-class-name-face ((t (:foreground ,col_fore)))) + `(font-lock-keyword-face ((t (:foreground ,col_mag)))) + `(font-lock-extend-face ((t (:foreground ,col_gry)))) + `(font-lock-function-name-face ((t (:foreground ,col_grn)))) + `(font-lock-fundef-face ((t (:inherit font-lock-function-name-face)))) + `(font-lock-keyword-bold-face ((t (:foreground ,col_mag)))) +;; some method names do this (like obj.copy()) and I'm not sure why + `(font-lock-gc-alloc-face ((t (:inherit font-lock-function-name-face)))) + +;; variables, types + `(font-lock-type-face ((t (:foreground ,col_blu)))) + `(font-lock-highlight-green-face ((t (:inherit font-lock-type-face)))) + `(font-lock-string-face ((t (:foreground ,col_ylw)))) + `(font-lock-unit-face ((t (:foreground ,col_pur)))) + `(font-lock-variable-name-face ((t (:foreground ,col_fore)))) + `(font-lock-macro-key-face ((t (:inherit font-lock-variable-name-face)))) + `(font-lock-const-face ((t (:foreground ,col_pur)))) + `(font-lock-resource-face ((t (:foreground ,col_org)))) + `(font-lock-debug-face ((t (:foreground ,co__red)))) + +;; comments + `(font-lock-comment-face ((t (:foreground ,col_gry)))) + `(font-lock-comment-delimiter-face ((t (:inherit font-lock-comment-face)))) + `(font-lock-doc-face ((t (:inherit font-lock-comment-face)))) + +;; control and returns + `(font-lock-control-face ((t (:background ,col_back>)))) + +;; uhh... emacs builtins? no idea if these are used elsewhere + `(font-lock-builtin-face ((t (:foreground ,col_org)))) + `(font-lock-constant-face ((t (:foreground ,col_blu)))) + `(font-lock-warning-face ((t (:foreground ,col_red)))) + +;; modeline stuffs + `(mode-line ((t (:box (:line-width -1 :color ,col_gry) + :foreground ,col_back> + :background ,col_fore<)))) + `(mode-line-inactive ((t (:box (:line-width -1 :color ,col_gry) + :foreground ,col_back< + :background ,col_fore<<<)))) +;; emacs tooltips + `(tooltip ((t (:inherit (variable-pitch) + :foreground ,col_fore< + :background ,col_back<)))) + `(link ((t (:underline (:color foreground-color :style line) + :foreground ,col_grn)))) + `(link-visited ((t (:underline (:color foreground-color :style line) + :foreground ,col_grn + :inherit (link))))) + +;; Bodge in our colors + `(font-lock-bblue-face ((t (:foreground ,col_blu)))) + `(font-lock-bdblue-face ((t (:foreground ,col_blu)))) + `(font-lock-bgreen-face ((t (:foreground ,col_grn)))) + `(font-lock-bdgreen-face ((t (:foreground ,col_grn)))) + `(font-lock-bred-face ((t (:foreground ,col_red)))) + `(font-lock-bdred-face ((t (:foreground ,col_red)))) + `(font-lock-bgray-face ((t (:foreground ,col_fore<<<)))) + `(font-lock-black-face ((t (:foreground ,col_back<)))) + `(font-lock-bpink-face ((t (:foreground ,col_pin)))) + `(font-lock-bpurple-face ((t (:foreground ,col_pur)))) + + `(font-lock-highlight-angry-comment-face ((t (:foreground ,col_red)))) + `(font-lock-highlight-bad-language-face ((t (:foreground ,col_red)))) + `(font-lock-highlight-blue-face ((t (:foreground ,col_blu)))) + `(font-lock-highlight-intense-red-face ((t (:foreground ,col_pin + :background ,col_back>>)))) + `(font-lock-highlight-orange-face ((t (:foreground ,col_org)))) + `(font-lock-highlight-red-face ((t (:foreground ,col_red)))) + +;; stuff in the console + `(font-lock-if-debug-face ((t (:foreground ,col_blu)))) + `(font-lock-bold-face ((t (:foreground ,col_org)))) + `(font-lock-stack-frame-face ((t (:foreground ,col_ylw)))) + +;; electric buffer list + `(cm-electric-emacs-buffer-mode-face ((t (:foreground ,col_pur)))) + `(cm-electric-c-buffer-mode-face ((t (:foreground ,col_blu)))) + + `(cm-electric-cm-dir-face ((t (:foreground ,col_pin)))) + `(cm-electric-custom-dir-face ((t (:foreground ,col_org)))) + `(cm-electric-emacs-face ((t (:inherit cm-electric-custom-dir-face)))) + `(cm-electric-profile-dir-face ((t (:foreground ,col_ylw)))) + + `(cm-electric-buffer-mode-face ((t (:foreground ,col_mag)))) + `(cm-electric-cet-dir-face ((t (:foreground ,col_mag)))) + `(cm-electric-root-face ((t (:foreground ,col_mag)))) + `(cm-electric-fundamental-face ((t (:foreground ,col_mag)))) + `(cm-electric-rs-file-face ((t (:foreground ,col_mag)))) + +;; Everything left over is ,col_mag + `(font-lock-fixed-face ((t (:foreground ,col_mag)))) + `(font-lock-global-face ((t (:foreground ,col_mag)))) + `(font-lock-hasp-face ((t (:foreground ,col_mag)))) + `(font-lock-keyword-bold-bold-face ((t (:foreground ,col_mag)))) + `(font-lock-reference-face ((t (:foreground ,col_mag)))) + `(font-lock-number-face ((t (:foreground ,col_mag)))) + `(font-lock-operator-face ((t (:foreground ,col_grn)))) ;; no idea if this is done or not + `(font-lock-end-statement ((t (:foreground ,col_mag)))) + `(font-lock-preprocessor-face ((t (:foreground ,col_mag)))) + `(font-lock-gay-face ((t (:foreground ,col_mag)))) + `(hl-line ((t (:background ,col_mag)))) + +;; Extra face definitions for pluggins and whatnot + `(column-enforce-face ((t (:inherit nil + :background ,col_back>> + :underline nil)))) +) + +(provide-theme 'mazarbul)