dotfiles/.emacs.d/themes/mazarbul-theme.el

160 lines
7.6 KiB
EmacsLisp

;;; 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 ,col_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)