From 0cf03d25d8abf8ced83a428f28182c21e3d811c2 Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Sat, 13 Feb 2016 14:19:39 -0500 Subject: [PATCH] add theme somewhere --- .barak-theme.el | 261 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 .barak-theme.el diff --git a/.barak-theme.el b/.barak-theme.el new file mode 100644 index 0000000..27fa85d --- /dev/null +++ b/.barak-theme.el @@ -0,0 +1,261 @@ +;;; Code: + +(deftheme barak "Barak's Theme") + +;;; Color Palette + +(defvar zenburn-colors-alist + '(("zenburn-fg+1" . "#FFFFEF") + ("zenburn-fg" . "#DCDCCC") + ("zenburn-fg-1" . "#656555") + ("zenburn-bg-2" . "#000000") + ("zenburn-bg-1" . "#2B2B2B") + ("zenburn-bg-05" . "#383838") + ("zenburn-bg" . "#3F3F3F") + ("zenburn-bg+1" . "#4F4F4F") + ("zenburn-bg+2" . "#5F5F5F") + ("zenburn-bg+3" . "#6F6F6F") + ("zenburn-red+1" . "#DCA3A3") + ("zenburn-red" . "#CC9393") + ("zenburn-red-1" . "#BC8383") + ("zenburn-red-2" . "#AC7373") + ("zenburn-red-3" . "#9C6363") + ("zenburn-red-4" . "#8C5353") + ("zenburn-orange" . "#DFAF8F") + ("zenburn-yellow" . "#F0DFAF") + ("zenburn-yellow-1" . "#E0CF9F") + ("zenburn-yellow-2" . "#D0BF8F") + ("zenburn-green-1" . "#5F7F5F") + ("zenburn-green" . "#7F9F7F") + ("zenburn-green+1" . "#8FB28F") + ("zenburn-green+2" . "#9FC59F") + ("zenburn-green+3" . "#AFD8AF") + ("zenburn-green+4" . "#BFEBBF") + ("zenburn-cyan" . "#93E0E3") + ("zenburn-blue+1" . "#94BFF3") + ("zenburn-blue" . "#8CD0D3") + ("zenburn-blue-1" . "#7CB8BB") + ("zenburn-blue-2" . "#6CA0A3") + ("zenburn-blue-3" . "#5C888B") + ("zenburn-blue-4" . "#4C7073") + ("zenburn-blue-5" . "#366060") + ("zenburn-magenta" . "#DC8CC3"))) + +(defvar barak-colors-alist + '(("background" . "#000000") + ("cursor" . "#A7A7A7") + ("fg-default" . "#E0E0E0") + ("mouse" . "sienna1") + ("comment" . "#238E23") + ("constant" . "#E3AC3D") + ("docstring" . "DarkOrange") + ("zenburn-fg+1" . "#FFFFEF") + ("zenburn-fg" . "#DCDCCC") + ("zenburn-fg-1" . "#656555") + ("zenburn-bg-2" . "#000000") + ("zenburn-bg-1" . "#2B2B2B") + ("zenburn-bg-05" . "#383838") + ("zenburn-bg" . "#3F3F3F") + ("zenburn-bg+1" . "#4F4F4F") + ("zenburn-bg+2" . "#5F5F5F") + ("zenburn-bg+3" . "#6F6F6F") + ("zenburn-red+1" . "#DCA3A3") + ("zenburn-red" . "#CC9393") + ("zenburn-red-1" . "#BC8383") + ("zenburn-red-2" . "#AC7373") + ("zenburn-red-3" . "#9C6363") + ("zenburn-red-4" . "#8C5353") + ("zenburn-orange" . "#DFAF8F") + ("zenburn-yellow" . "#F0DFAF") + ("zenburn-yellow-1" . "#E0CF9F") + ("zenburn-yellow-2" . "#D0BF8F") + ("zenburn-green-1" . "#5F7F5F") + ("zenburn-green" . "#7F9F7F") + ("zenburn-green+1" . "#8FB28F") + ("zenburn-green+2" . "#9FC59F") + ("zenburn-green+3" . "#AFD8AF") + ("zenburn-green+4" . "#BFEBBF") + ("zenburn-cyan" . "#93E0E3") + ("zenburn-blue+1" . "#94BFF3") + ("zenburn-blue" . "#8CD0D3") + ("zenburn-blue-1" . "#7CB8BB") + ("zenburn-blue-2" . "#6CA0A3") + ("zenburn-blue-3" . "#5C888B") + ("zenburn-blue-4" . "#4C7073") + ("zenburn-blue-5" . "#366060") + ("zenburn-magenta" . "#DC8CC3")) + "List of Zenburn colors. +Each element has the form (NAME . HEX).") + + +(defmacro barak-with-color-variables (&rest body) + "`let' bind all colors defined in `zenburn-colors-alist' around BODY. +Also bind `class' to ((class color) (min-colors 89))." + (declare (indent 0)) + `(let ((class '((class color) (min-colors 89))) + ,@(mapcar (lambda (cons) + (list (intern (car cons)) (cdr cons))) + barak-colors-alist)) + ,@body)) + +(defmacro zenburn-with-color-variables (&rest body) + "`let' bind all colors defined in `zenburn-colors-alist' around BODY. +Also bind `class' to ((class color) (min-colors 89))." + (declare (indent 0)) + `(let ((class '((class color) (min-colors 89))) + ,@(mapcar (lambda (cons) + (list (intern (car cons)) (cdr cons))) + zenburn-colors-alist)) + ,@body)) + +;;; Theme Faces +(barak-with-color-variables + (custom-theme-set-faces + 'barak +;;;; Built-in +;;;;; basic coloring + '(button ((t (:underline t)))) + `(link ((t (:foreground ,zenburn-yellow :underline t :weight bold)))) + `(link-visited ((t (:foreground ,zenburn-yellow-2 :underline t :weight normal)))) + `(default ((t (:foreground ,fg-default :background ,background)))) + `(cursor ((t (:foreground ,cursor :background ,zenburn-fg+1)))) + `(blue ((t (:foreground "blue")))) + `(bold ((t (:bold t)))) + `(bold-italic ((t (:bold t)))) + `(border-glyph ((t (nil)))) + `(buffers-tab ((t (:background "#121212" :foreground "#E0E0E0")))) + `(font-lock-builtin-face ((t (:foreground "#E0E0E0")))) + `(font-lock-comment-face ((t (:foreground "#238E23")))) + `(font-lock-constant-face ((t (:foreground "#E3AC3D")))) + `(font-lock-doc-string-face ((t (:foreground "DarkOrange")))) + `(font-lock-function-name-face ((t (:foreground "#C5A6FF")))) + `(font-lock-keyword-face ((t (:bold t :foreground "#4876FF")))) + `(font-lock-preprocessor-face ((t (:foreground "#E9DFEF")))) + `(font-lock-reference-face ((t (:foreground "#E1634F")))) + `(font-lock-regexp-grouping-backslash ((t (:foreground "#E9C062")))) + `(font-lock-regexp-grouping-construct ((t (:foreground "red")))) + `(font-lock-string-face ((t (:foreground "#F05656")))) + `(font-lock-type-face ((t (:foreground "#73E1E6")))) + `(font-lock-variable-name-face ((t (:foreground "#00BFFF")))) + `(font-lock-warning-face ((t (:bold t :foreground "Pink")))) + `(gui-element ((t (:background "#A0A0A0" :foreground "black")))) + `(region ((t (:background "#364458")))) + `(mode-line ((t (:background "grey75" :foreground "black")))) + `(highlight ((t (:background "#222222")))) + `(highline-face ((t (:background "SeaGreen")))) + `(italic ((t (nil)))) + `(left-margin ((t (nil)))) + `(text-cursor ((t (:background "green" :foreground "black")))) + `(toolbar ((t (nil)))) + `(tabbar-default ((t (:background "black" :foreground "grey75")))) + `(tabbar-selected ((t (:background "grey75" :foreground "black")))) + `(tabbar-highlight ((t (:bold t)))) + `(underline ((nil (:underline nil)))) + '(match ((t (:bold t :background nil)))) + + ; company mode + `(company-tooltip ((t (:background "#303840" :foreground "#e0e0e0")))) + `(company-tooltip-annotation ((t (:bold t :background "#303840" :foreground "#cae682")))) + `(company-tooltip-selection ((t (:bold t :background "#505860" :foreground "#ffa000")))) + `(company-scrollbar-bg ((t (:background "#505860" :foreground "#505860")))) + `(company-scrollbar-fg ((t (:background "#808890" :foreground "#808890")))) + ; powerline + `(powerline-active1 ((t (:background "#303840" :foreground "#e0e0e0")))) + `(powerline-active2 ((t (:background "#505860" :foreground "#ffa000")))) + ; motion-face + `(spacemacs-motion-face ((t (:background "#5f87ff" :foreground "#ffffff")))) + `(spacemacs-normal-face ((t (:background "#5f87ff" :foreground "#ffffff")))) + `(spacemacs-replace-face ((t (:background "#870000" :foreground "#ffffff")))) + `(spacemacs-visual-face ((t (:background "#ffac00" :foreground "#ffffff")))) + )) + +;;; Theme Variables +(zenburn-with-color-variables + (custom-theme-set-variables + 'barak +;;;;; ansi-color + `(ansi-color-names-vector [,zenburn-bg ,zenburn-red ,zenburn-green ,zenburn-yellow + ,zenburn-blue ,zenburn-magenta ,zenburn-cyan ,zenburn-fg]) +;;;;; fill-column-indicator + `(fci-rule-color ,zenburn-bg-05) +;;;;; vc-annotate + `(vc-annotate-color-map + '(( 20. . ,zenburn-red-1) + ( 40. . ,zenburn-red) + ( 60. . ,zenburn-orange) + ( 80. . ,zenburn-yellow-2) + (100. . ,zenburn-yellow-1) + (120. . ,zenburn-yellow) + (140. . ,zenburn-green-1) + (160. . ,zenburn-green) + (180. . ,zenburn-green+1) + (200. . ,zenburn-green+2) + (220. . ,zenburn-green+3) + (240. . ,zenburn-green+4) + (260. . ,zenburn-cyan) + (280. . ,zenburn-blue-2) + (300. . ,zenburn-blue-1) + (320. . ,zenburn-blue) + (340. . ,zenburn-blue+1) + (360. . ,zenburn-magenta))) + `(vc-annotate-very-old-color ,zenburn-magenta) + `(vc-annotate-background ,zenburn-bg-1) + )) + +;;; Rainbow Support + +;; (declare-function rainbow-mode 'rainbow-mode) +;; (declare-function rainbow-colorize-by-assoc 'rainbow-mode) + +(defvar barak-add-font-lock-keywords nil + "Whether to add font-lock keywords for zenburn color names. +In buffers visiting library `zenburn-theme.el' the zenburn +specific keywords are always added. In all other Emacs-Lisp +buffers this variable controls whether this should be done. +This requires library `rainbow-mode'.") + +(defvar barak-colors-font-lock-keywords nil) + +;; (defadvice rainbow-turn-on (after zenburn activate) +;; "Maybe also add font-lock keywords for zenburn colors." +;; (when (and (derived-mode-p 'emacs-lisp-mode) +;; (or zenburn-add-font-lock-keywords +;; (equal (file-name-nondirectory (buffer-file-name)) +;; "zenburn-theme.el"))) +;; (unless zenburn-colors-font-lock-keywords +;; (setq zenburn-colors-font-lock-keywords +;; `((,(regexp-opt (mapcar 'car zenburn-colors-alist) 'words) +;; (0 (rainbow-colorize-by-assoc zenburn-colors-alist)))))) +;; (font-lock-add-keywords nil zenburn-colors-font-lock-keywords))) + +;; (defadvice rainbow-turn-off (after zenburn activate) +;; "Also remove font-lock keywords for zenburn colors." +;; (font-lock-remove-keywords nil zenburn-colors-font-lock-keywords)) + +;;; Footer + +;;;###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)))) + +;(defun color-theme-barak-extras () +;; Highlight numbers +;(add-hook 'after-change-major-mode-hook + ;(lambda () (font-lock-add-keywords + ;nil + ;'(("\\<\\(\\(0[xX]\\|0[bB]\\)?-?[0-9a-fA-F]+\\.?[0-9]*?[fFlL]?\\)\\>" 1 '((t (:foreground "#E3AC3D"))))))))) + +(provide-theme 'barak) + +;;;###autoload +;; (add-to-list 'safe-local-eval-forms +;; '(when (require 'rainbow-mode nil t) (rainbow-mode 1))) + +;; Local Variables: +;; no-byte-compile: t +;; indent-tabs-mode: nil +;; eval: (when (require 'rainbow-mode nil t) (rainbow-mode 1)) +;; End: