From 450acfde81b7cb5024b8db91d4edc3850111fbb7 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 27 Mar 2010 14:01:58 -0700 Subject: [PATCH] new textmate mode and drag-stuff (drag the region up/down, like TM) --- emacs | 16 + emacs.d/drag-stuff | 1 + emacs.d/textmate.el | 393 +++++++++++++++ emacs.d/zenburn.el | 1179 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1589 insertions(+) create mode 160000 emacs.d/drag-stuff create mode 100644 emacs.d/textmate.el create mode 100644 emacs.d/zenburn.el diff --git a/emacs b/emacs index c465648..8189bc6 100644 --- a/emacs +++ b/emacs @@ -266,6 +266,22 @@ (add-hook 'inferior-scheme-mode-hook (lambda () (inferior-slime-mode t))) +;;;;;;;;;;;;;;;;;;; +;; textmate mode ;; +;;;;;;;;;;;;;;;;;;; + +(require 'textmate) +(textmate-mode) ; always on + +;;;;;;;;;;;;;;;;;;;;; +;; drag stuff mode ;; +;;;;;;;;;;;;;;;;;;;;; + +(add-to-list 'load-path "~/config/emacs.d/drag-stuff") +(require 'drag-stuff) +(drag-stuff-mode t) ; always on + + ;;;;;;;;;;;;;;;;;;;; ;; customizations ;; ;;;;;;;;;;;;;;;;;;;; diff --git a/emacs.d/drag-stuff b/emacs.d/drag-stuff new file mode 160000 index 0000000..6394f12 --- /dev/null +++ b/emacs.d/drag-stuff @@ -0,0 +1 @@ +Subproject commit 6394f127d933172865af7b381a42ae904a7e743c diff --git a/emacs.d/textmate.el b/emacs.d/textmate.el new file mode 100644 index 0000000..fbd7e3b --- /dev/null +++ b/emacs.d/textmate.el @@ -0,0 +1,393 @@ +;; textmate.el --- TextMate minor mode for Emacs + +;; Copyright (C) 2008, 2009 Chris Wanstrath + +;; Licensed under the same terms as Emacs. + +;; Keywords: textmate osx mac +;; Created: 22 Nov 2008 +;; Author: Chris Wanstrath +;; Version: 1 + +;; This file is NOT part of GNU Emacs. + +;;; Commentary: + +;; This minor mode exists to mimick TextMate's awesome +;; features. + +;; ⌘T - Go to File +;; ⇧⌘T - Go to Symbol +;; ⌘L - Go to Line +;; ⇧⌘L - Select Line (or expand Selection to select lines) +;; ⌘/ - Comment Line (or Selection/Region) +;; ⌘] - Shift Right +;; ⌘[ - Shift Left +;; ⌥⌘] - Align Assignments +;; ⌥⌘[ - Indent Line +;; ⌘RET - Insert Newline at Line's End +;; ⌥⌘T - Reset File Cache (for Go to File) + +;; A "project" in textmate-mode is determined by the presence of +;; a .git directory, an .hg directory, a Rakefile, or a Makefile. + +;; You can configure what makes a project root by appending a file +;; or directory name onto the `*textmate-project-roots*' list. + +;; If no project root indicator is found in your current directory, +;; textmate-mode will traverse upwards until one (or none) is found. +;; The directory housing the project root indicator (e.g. a .git or .hg +;; directory) is presumed to be the project's root. + +;; In other words, calling Go to File from +;; ~/Projects/fieldrunners/app/views/towers/show.html.erb will use +;; ~/Projects/fieldrunners/ as the root if ~/Projects/fieldrunners/.git +;; exists. + +;;; Installation + +;; $ cd ~/.emacs.d/vendor +;; $ git clone git://github.com/defunkt/textmate.el.git +;; +;; In your emacs config: +;; +;; (add-to-list 'load-path "~/.emacs.d/vendor/textmate.el") +;; (require 'textmate) +;; (textmate-mode) + +;;; Depends on imenu +(require 'imenu) + +;;; Needed for flet +(eval-when-compile + (require 'cl)) + +;;; Minor mode + +(defvar *textmate-gf-exclude* + "/\\.|vendor|fixtures|tmp|log|build|\\.xcodeproj|\\.nib|\\.framework|\\.app|\\.pbproj|\\.pbxproj|\\.xcode|\\.xcodeproj|\\.bundle|\\.pyc" + "Regexp of files to exclude from `textmate-goto-file'.") + +(defvar *textmate-project-roots* + '(".git" ".hg" "Rakefile" "Makefile" "README" "build.xml") + "The presence of any file/directory in this list indicates a project root.") + +(defvar textmate-use-file-cache t + "Should `textmate-goto-file' keep a local cache of files?") + +(defvar textmate-completing-library 'ido + "The library `textmade-goto-symbol' and `textmate-goto-file' should use for +completing filenames and symbols (`ido' by default)") + +(defvar textmate-find-files-command "find %s -type f" + "The command `textmate-project-root' uses to find files. %s will be replaced +the project root.") + +(defvar *textmate-completing-function-alist* '((ido ido-completing-read) + (icicles icicle-completing-read) + (none completing-read)) + "The function to call to read file names and symbols from the user") + +(defvar *textmate-completing-minor-mode-alist* + `((ido ,(lambda (a) (progn (ido-mode a) (setq ido-enable-flex-matching t)))) + (icicles ,(lambda (a) (icy-mode a))) + (none ,(lambda (a) ()))) + "The list of functions to enable and disable completing minor modes") + +(defvar *textmate-mode-map* + (let ((map (make-sparse-keymap))) + (cond ((featurep 'aquamacs) + (define-key map [A-return] 'textmate-next-line) + (define-key map (kbd "A-M-t") 'textmate-clear-cache) + (define-key map (kbd "A-M-]") 'align) + (define-key map (kbd "A-M-[") 'indent-according-to-mode) + (define-key map (kbd "A-]") 'textmate-shift-right) + (define-key map (kbd "A-[") 'textmate-shift-left) + (define-key map (kbd "A-/") 'comment-or-uncomment-region-or-line) + (define-key map (kbd "A-L") 'textmate-select-line) + (define-key map (kbd "A-t") 'textmate-goto-file) + (define-key map (kbd "A-T") 'textmate-goto-symbol)) + ((and (featurep 'mac-carbon) (eq window-system 'mac) mac-key-mode) + (define-key map [(alt meta return)] 'textmate-next-line) + (define-key map [(alt meta t)] 'textmate-clear-cache) + (define-key map [(alt meta \])] 'align) + (define-key map [(alt meta \[)] 'indent-according-to-mode) + (define-key map [(alt \])] 'textmate-shift-right) + (define-key map [(alt \[)] 'textmate-shift-left) + (define-key map [(meta /)] 'comment-or-uncomment-region-or-line) + (define-key map [(alt t)] 'textmate-goto-file) + (define-key map [(alt shift l)] 'textmate-select-line) + (define-key map [(alt shift t)] 'textmate-goto-symbol)) + ((featurep 'ns) ;; Emacs.app + (define-key map [(super meta return)] 'textmate-next-line) + (define-key map [(super meta t)] 'textmate-clear-cache) + (define-key map [(super meta \])] 'align) + (define-key map [(super meta \[)] 'indent-according-to-mode) + (define-key map [(super \])] 'textmate-shift-right) + (define-key map [(super \[)] 'textmate-shift-left) + (define-key map [(super /)] 'comment-or-uncomment-region-or-line) + (define-key map [(super t)] 'textmate-goto-file) + (define-key map [(super shift l)] 'textmate-select-line) + (define-key map [(super shift t)] 'textmate-goto-symbol)) + (t ;; Any other version + (define-key map [(meta return)] 'textmate-next-line) + (define-key map [(control c)(control t)] 'textmate-clear-cache) + (define-key map [(control c)(control a)] 'align) + (define-key map [(control tab)] 'textmate-shift-right) + (define-key map [(control shift tab)] 'textmate-shift-left) + (define-key map [(control c)(control k)] 'comment-or-uncomment-region-or-line) + (define-key map [(meta t)] 'textmate-goto-file) + (define-key map [(meta shift l)] 'textmate-select-line) + (define-key map [(meta shift t)] 'textmate-goto-symbol))) + map)) + +(defvar *textmate-project-root* nil + "Used internally to cache the project root.") +(defvar *textmate-project-files* '() + "Used internally to cache the files in a project.") + +;;; Bindings + +(defun textmate-ido-fix () + "Add up/down keybindings for ido." + (define-key ido-completion-map [up] 'ido-prev-match) + (define-key ido-completion-map [down] 'ido-next-match)) + +(defun textmate-completing-read (&rest args) + "Uses `*textmate-completing-function-alist*' to call the appropriate completing +function." + (let ((reading-fn + (cadr (assoc textmate-completing-library + *textmate-completing-function-alist*)))) + (apply (symbol-function reading-fn) args))) + +;;; allow-line-as-region-for-function adds an "-or-line" version of +;;; the given comment function which (un)comments the current line is +;;; the mark is not active. This code comes from Aquamac's osxkeys.el +;;; and is licensed under the GPL + +(defmacro allow-line-as-region-for-function (orig-function) +`(defun ,(intern (concat (symbol-name orig-function) "-or-line")) + () + ,(format "Like `%s', but acts on the current line if mark is not active." + orig-function) + (interactive) + (if mark-active + (call-interactively (function ,orig-function)) + (save-excursion + ;; define a region (temporarily) -- so any C-u prefixes etc. are preserved. + (beginning-of-line) + (set-mark (point)) + (end-of-line) + (call-interactively (function ,orig-function)))))) + +(defun textmate-define-comment-line () + "Add or-line (un)comment function if not already defined" + (unless (fboundp 'comment-or-uncomment-region-or-line) + (allow-line-as-region-for-function comment-or-uncomment-region))) + +;;; Commands + +(defun textmate-next-line () + "Inserts an indented newline after the current line and moves the point to it." + (interactive) + (end-of-line) + (newline-and-indent)) + +(defun textmate-select-line () + "If the mark is not active, select the current line. +Otherwise, expand the current region to select the lines the region touches." + (interactive) + (if mark-active ;; expand the selection to select lines + (let ((top (= (point) (region-beginning))) + (p1 (region-beginning)) + (p2 (region-end))) + (goto-char p1) + (beginning-of-line) + (push-mark (point)) + (goto-char p2) + (unless (looking-back "\n") + (progn + (end-of-line) + (if (< (point) (point-max)) (forward-char)))) + (setq mark-active t + transient-mark-mode t) + (if top (exchange-point-and-mark))) + (progn + (beginning-of-line) + (push-mark (point)) + (end-of-line) + (if (< (point) (point-max)) (forward-char)) + (setq mark-active t + transient-mark-mode t)))) + +;; http://chopmo.blogspot.com/2008/09/quickly-jumping-to-symbols.html +(defun textmate-goto-symbol () + "Update the imenu index and then use ido to select a symbol to navigate to. +Symbols matching the text at point are put first in the completion list." + (interactive) + (imenu--make-index-alist) + (let ((name-and-pos '()) + (symbol-names '())) + (flet ((addsymbols (symbol-list) + (when (listp symbol-list) + (dolist (symbol symbol-list) + (let ((name nil) (position nil)) + (cond + ((and (listp symbol) (imenu--subalist-p symbol)) + (addsymbols symbol)) + + ((listp symbol) + (setq name (car symbol)) + (setq position (cdr symbol))) + + ((stringp symbol) + (setq name symbol) + (setq position + (get-text-property 1 'org-imenu-marker + symbol)))) + + (unless (or (null position) (null name)) + (add-to-list 'symbol-names name) + (add-to-list 'name-and-pos (cons name position)))))))) + (addsymbols imenu--index-alist)) + ;; If there are matching symbols at point, put them at the beginning + ;; of `symbol-names'. + (let ((symbol-at-point (thing-at-point 'symbol))) + (when symbol-at-point + (let* ((regexp (concat (regexp-quote symbol-at-point) "$")) + (matching-symbols (delq nil + (mapcar + (lambda (symbol) + (if (string-match regexp symbol) + symbol)) + symbol-names)))) + (when matching-symbols + (sort matching-symbols (lambda (a b) (> (length a) (length b)))) + (mapc (lambda (symbol) + (setq symbol-names (cons symbol + (delete symbol symbol-names)))) + matching-symbols))))) + (let* ((selected-symbol (ido-completing-read "Symbol? " symbol-names)) + (position (cdr (assoc selected-symbol name-and-pos)))) + (goto-char (if (overlayp position) (overlay-start position) position))))) + +(defun textmate-goto-file () + "Uses your completing read to quickly jump to a file in a project." + (interactive) + (let ((root (textmate-project-root))) + (when (null root) + (error + (concat + "Can't find a suitable project root (" + (string-join " " *textmate-project-roots* ) + ")"))) + (find-file + (concat + (expand-file-name root) "/" + (textmate-completing-read + "Find file: " + (textmate-cached-project-files root)))))) + +(defun textmate-clear-cache () + "Clears the project root and project files cache. Use after adding files." + (interactive) + (setq *textmate-project-root* nil) + (setq *textmate-project-files* nil) + (message "textmate-mode cache cleared.")) + +;;; Utilities + +(defun textmate-project-files (root) + "Finds all files in a given project." + (split-string + (shell-command-to-string + (concat + (textmate-string-replace "%s" root textmate-find-files-command) + " | grep -vE '" + *textmate-gf-exclude* + "' | sed 's:" + *textmate-project-root* + "/::'")) "\n" t)) + +;; http://snipplr.com/view/18683/stringreplace/ +(defun textmate-string-replace (this withthat in) + "replace THIS with WITHTHAT' in the string IN" + (with-temp-buffer + (insert in) + (goto-char (point-min)) + (while (search-forward this nil t) + (replace-match withthat nil t)) + (buffer-substring (point-min) (point-max)))) + +(defun textmate-cached-project-files (&optional root) + "Finds and caches all files in a given project." + (cond + ((null textmate-use-file-cache) (textmate-project-files root)) + ((equal (textmate-project-root) (car *textmate-project-files*)) + (cdr *textmate-project-files*)) + (t (cdr (setq *textmate-project-files* + `(,root . ,(textmate-project-files root))))))) + +(defun textmate-project-root () + "Returns the current project root." + (when (or + (null *textmate-project-root*) + (not (string-match *textmate-project-root* default-directory))) + (let ((root (textmate-find-project-root))) + (if root + (setq *textmate-project-root* (expand-file-name (concat root "/"))) + (setq *textmate-project-root* nil)))) + *textmate-project-root*) + +(defun root-match(root names) + (member (car names) (directory-files root))) + +(defun root-matches(root names) + (if (root-match root names) + (root-match root names) + (if (eq (length (cdr names)) 0) + 'nil + (root-matches root (cdr names)) + ))) + +(defun textmate-find-project-root (&optional root) + "Determines the current project root by recursively searching for an indicator." + (when (null root) (setq root default-directory)) + (cond + ((root-matches root *textmate-project-roots*) + (expand-file-name root)) + ((equal (expand-file-name root) "/") nil) + (t (textmate-find-project-root (concat (file-name-as-directory root) ".."))))) + +(defun textmate-shift-right (&optional arg) + "Shift the line or region to the ARG places to the right. + +A place is considered `tab-width' character columns." + (interactive) + (let ((deactivate-mark nil) + (beg (or (and mark-active (region-beginning)) + (line-beginning-position))) + (end (or (and mark-active (region-end)) (line-end-position)))) + (indent-rigidly beg end (* (or arg 1) tab-width)))) + +(defun textmate-shift-left (&optional arg) + "Shift the line or region to the ARG places to the left." + (interactive) + (textmate-shift-right (* -1 (or arg 1)))) + +;;;###autoload +(define-minor-mode textmate-mode "TextMate Emulation Minor Mode" + :lighter " mate" :global t :keymap *textmate-mode-map* + (add-hook 'ido-setup-hook 'textmate-ido-fix) + (textmate-define-comment-line) + ; activate preferred completion library + (dolist (mode *textmate-completing-minor-mode-alist*) + (if (eq (car mode) textmate-completing-library) + (funcall (cadr mode) t) + (when (fboundp + (cadr (assoc (car mode) *textmate-completing-function-alist*))) + (funcall (cadr mode) -1))))) + +(provide 'textmate) +;;; textmate.el ends here \ No newline at end of file diff --git a/emacs.d/zenburn.el b/emacs.d/zenburn.el new file mode 100644 index 0000000..1238f3c --- /dev/null +++ b/emacs.d/zenburn.el @@ -0,0 +1,1179 @@ +;;; zenburn.el --- just some alien fruit salad to keep you in the zone +;; Copyright (C) 2003, 2004, 2005, 2006 Daniel Brockman +;; Copyright (C) 2009 Adrian C., Bastien Guerry + +;; Author: Daniel Brockman +;; URL: http://www.brockman.se/software/zenburn/zenburn.el +;; Updated: 2009-07-08 05:27 + +;; Adrian C. and Bastien Guerry added org-mode faces. + +;; This file is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2 of +;; the License, or (at your option) any later version. + +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty +;; of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +;; See the GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public +;; License along with GNU Emacs; if not, write to the Free +;; Software Foundation, 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Commentary: + +;; Some packages ship with broken implementations of `format-spec'; +;; for example, stable versions of TRAMP and ERC do this. To fix +;; this, you can put the following at the end of your ~/.emacs: + +;; (unless (zenburn-format-spec-works-p) +;; (zenburn-define-format-spec)) + +;; Thanks to Jani Nurminen, who created the original zenburn color +;; theme for vim. I'm just copying him. :-) + +;;; Short-Term Wishlist: + +;; Theme the ansi-term faces `term-red', etc., and the ERC faces +;; `fg:erc-color-face1', etc. + +;; Theme `gnus-server-offline-face', `gnus-server-opened-face', and +;; `gnus-server-denied-face'. First, find out what they hell they do. + +;; Theme `gnus-emphasis-highlight-words' after finding out what it +;; does. + +;; Theme `emms-stream-name-face' and `emms-stream-url-face'. + +;; Theme `ido-indicator-face'. + +;;; Code: + +(require 'color-theme) + +(defvar zenburn-fg "#dcdccc") +(defvar zenburn-bg "#3f3f3f") +(defvar zenburn-bg+1 "#4f4f4f") +(defvar zenburn-bg+2 "#5f5f5f") +(defvar zenburn-red+1 "#dca3a3") +(defvar zenburn-red "#cc9393") +(defvar zenburn-red-1 "#bc8383") +(defvar zenburn-red-2 "#ac7373") +(defvar zenburn-red-3 "#9c6363") +(defvar zenburn-red-4 "#8c5353") +(defvar zenburn-orange "#dfaf8f") +(defvar zenburn-yellow "#f0dfaf") +(defvar zenburn-yellow-1 "#e0cf9f") +(defvar zenburn-yellow-2 "#d0bf8f") +(defvar zenburn-green-1 "#5f7f5f") +(defvar zenburn-green "#7f9f7f") +(defvar zenburn-green+1 "#8fb28f") +(defvar zenburn-green+2 "#9fc59f") +(defvar zenburn-green+3 "#afd8af") +(defvar zenburn-green+4 "#bfebbf") +(defvar zenburn-cyan "#93e0e3") +(defvar zenburn-blue+1 "#94bff3") +(defvar zenburn-blue "#8cd0d3") +(defvar zenburn-blue-1 "#7cb8bb") +(defvar zenburn-blue-2 "#6ca0a3") +(defvar zenburn-blue-3 "#5c888b") +(defvar zenburn-blue-4 "#4c7073") +(defvar zenburn-magenta "#dc8cc3") + +(eval-after-load 'term + '(setq ansi-term-color-vector + (vector 'unspecified zenburn-bg + zenburn-red zenburn-green + zenburn-yellow zenburn-blue+1 + zenburn-magenta zenburn-cyan))) + +(defvar font-lock-pseudo-keyword-face 'font-lock-pseudo-keyword-face) +(defvar font-lock-operator-face 'font-lock-operator-face) + +(defun zenburn-format-spec-works-p () + (and (fboundp 'format-spec) + (= (next-property-change + 0 (format-spec #("<%x>" 0 4 (face (:weight bold))) + '((?x . "foo"))) 4) 4))) + +(defun zenburn-format-spec (format specification) + "Return a string based on FORMAT and SPECIFICATION. +FORMAT is a string containing `format'-like specs like \"bash %u %k\", +while SPECIFICATION is an alist mapping from format spec characters +to values." + (with-temp-buffer + (insert format) + (goto-char (point-min)) + (while (search-forward "%" nil t) + (cond + ;; Quoted percent sign. + ((eq (char-after) ?%) + (delete-char 1)) + ;; Valid format spec. + ((looking-at "\\([-0-9.]*\\)\\([a-zA-Z]\\)") + (let* ((num (match-string 1)) + (spec (string-to-char (match-string 2))) + (val (cdr (assq spec specification)))) + (unless val + (error "Invalid format character: %s" spec)) + (let ((text (format (concat "%" num "s") val))) + (insert-and-inherit text) + ;; Delete the specifier body. + (delete-region (+ (match-beginning 0) (length text)) + (+ (match-end 0) (length text))) + ;; Delete the percent sign. + (delete-region (1- (match-beginning 0)) (match-beginning 0))))) + ;; Signal an error on bogus format strings. + (t + (error "Invalid format string")))) + (buffer-string))) + +(defun zenburn-define-format-spec () + (interactive) + (fset 'format-spec #'zenburn-format-spec)) + +(unless (zenburn-format-spec-works-p) + (zenburn-define-format-spec)) + +(eval-after-load 'format-spec + '(unless (zenburn-format-spec-works-p) + (zenburn-define-format-spec))) + +(setq-default mode-line-buffer-identification + (list (propertize "%12b" 'face + (list :weight 'bold + :foreground zenburn-yellow)))) +(setq-default mode-line-frame-identification "") +(setq-default erc-mode-line-format + (concat (propertize "%t" 'face + (list :weight 'bold + :foreground zenburn-yellow)) + " %a")) + +(setq gnus-logo-colors `(,zenburn-bg+2 ,zenburn-bg+1) + gnus-mode-line-image-cache + '(image :type xpm :ascent center :data "/* XPM */ +static char *gnus-pointer[] = { +/* width height num_colors chars_per_pixel */ +\" 18 11 2 1\", +/* colors */ +\". c #dcdccc\", +\"# c None s None\", +/* pixels */ +\"######..##..######\", +\"#####........#####\", +\"#.##.##..##...####\", +\"#...####.###...##.\", +\"#..###.######.....\", +\"#####.########...#\", +\"###########.######\", +\"####.###.#..######\", +\"######..###.######\", +\"###....####.######\", +\"###..######.######\"};")) + +(defun zenburn-make-face-alias-clauses (alias-symbols) + (let (clauses) + (dolist (alias-symbol alias-symbols clauses) + (let ((alias-name (symbol-name alias-symbol))) + (if (not (string-match "-face" alias-name)) + (error "Invalid face alias: %s" alias-name) + (let ((target-name (replace-regexp-in-string + ".*\\(-face\\)" "" + alias-name nil nil 1))) + (push `(,(intern alias-name) + ((t (:inherit ,(intern target-name))))) + clauses))))))) + +;;;###autoload +(defun color-theme-zenburn () + "Just some alien fruit salad to keep you in the zone." + (interactive) + (color-theme-install + (append + (list 'color-theme-zenburn + `((background-color . ,zenburn-bg) + (background-mode . dark) + (border-color . ,zenburn-bg) + (foreground-color . ,zenburn-fg) + (mouse-color . ,zenburn-fg)) + `((emms-mode-line-icon-color . ,zenburn-fg) + (goto-address-mail-face . italic) + (goto-address-mail-mouse-face . secondary-selection) + (goto-address-url-face . bold) + (goto-address-url-mouse-face . hover-highlight) + (help-highlight-face . hover-highlight) + (imaxima-label-color . ,zenburn-yellow) + (imaxima-equation-color . ,zenburn-fg) + (list-matching-lines-face . bold) + (view-highlight-face . hover-highlight) + (widget-mouse-face . hover-highlight)) + + '(bold ((t (:weight bold)))) + '(bold-italic ((t (:italic t :weight bold)))) + `(default ((t (:background ,zenburn-bg :foreground ,zenburn-fg)))) + '(fixed-pitch ((t (:weight bold)))) + '(italic ((t (:slant italic)))) + '(underline ((t (:underline t)))) + ;; '(variable-pitch ((t (:font "-*-utopia-regular-r-*-*-12-*-*-*-*-*-*-*")))) + + `(zenburn-background-1 ((t (:background ,zenburn-bg+1)))) + `(zenburn-background-2 ((t (:background ,zenburn-bg+2)))) + + `(zenburn-primary-1 ((t (:foreground ,zenburn-yellow :weight bold)))) + `(zenburn-primary-2 ((t (:foreground ,zenburn-orange :weight bold)))) + '(zenburn-primary-3 ((t (:foreground "#dfdfbf" :weight bold)))) + '(zenburn-primary-4 ((t (:foreground "#dca3a3" :weight bold)))) + '(zenburn-primary-5 ((t (:foreground "#94bff3" :weight bold)))) + + '(zenburn-highlight-damp + ((t (:foreground "#88b090" :background "#2e3330")))) + '(zenburn-highlight-alerting + ((t (:foreground "#e37170" :background "#332323")))) + '(zenburn-highlight-subtle + ((t (:background "#464646")))) + + '(zenburn-lowlight-1 ((t (:foreground "#606060")))) + '(zenburn-lowlight-2 ((t (:foreground "#708070")))) + + `(zenburn-yellow ((t (:foreground ,zenburn-yellow)))) + `(zenburn-orange ((t (:foreground ,zenburn-orange)))) + `(zenburn-red ((t (:foreground ,zenburn-red)))) + `(zenburn-green-1 ((t (:foreground ,zenburn-green-1)))) + `(zenburn-green ((t (:foreground ,zenburn-green)))) + `(zenburn-green+1 ((t (:foreground ,zenburn-green+1)))) + `(zenburn-green+2 ((t (:foreground ,zenburn-green+2)))) + `(zenburn-green+3 ((t (:foreground ,zenburn-green+3)))) + `(zenburn-green+4 ((t (:foreground ,zenburn-green+4)))) + `(zenburn-blue ((t (:foreground ,zenburn-blue)))) + `(zenburn-blue-1 ((t (:foreground ,zenburn-blue-1)))) + `(zenburn-blue-2 ((t (:foreground ,zenburn-blue-2)))) + `(zenburn-blue-3 ((t (:foreground ,zenburn-blue-3)))) + `(zenburn-blue-4 ((t (:foreground ,zenburn-blue-4)))) + + '(zenburn-title ((t (:inherit variable-pitch :weight bold)))) + + '(font-lock-builtin + ((t (:inherit zenburn-blue)))) + '(font-lock-comment + ((t (:inherit zenburn-green)))) + '(font-lock-comment-delimiter + ((t (:inherit zenburn-lowlight-2)))) + '(font-lock-constant + ((t (:inherit zenburn-primary-4)))) + '(font-lock-doc + ((t (:inherit zenburn-green+1)))) + `(font-lock-function-name + ((t (:foreground ,zenburn-yellow)))) + '(font-lock-keyword + ((t (:inherit zenburn-primary-1)))) + '(font-lock-negation-char + ((t (:inherit zenburn-primary-1)))) + '(font-lock-preprocessor + ((t (:inherit zenburn-blue)))) + '(font-lock-string + ((t (:inherit zenburn-red)))) + '(font-lock-type + ((t (:inherit zenburn-primary-3)))) + `(font-lock-variable-name + ((t (:foreground ,zenburn-yellow)))) + '(font-lock-warning + ((t (:inherit zenburn-highlight-alerting)))) + + '(font-lock-pseudo-keyword + ((t (:inherit zenburn-primary-2)))) + '(font-lock-operator + ((t (:inherit zenburn-primary-3)))) + + '(term-default-bg ((t (nil)))) + '(term-default-bg-inv ((t (nil)))) + '(term-default-fg ((t (nil)))) + '(term-default-fg-inv ((t (nil)))) + '(term-invisible ((t (nil)))) ;; FIXME: Security risk? + '(term-invisible-inv ((t (nil)))) + '(term-bold ((t (:weight bold)))) + '(term-underline ((t (:underline t)))) + + ;; FIXME: Map these to ansi-term's faces (`term-red', etc.). + '(zenburn-term-dark-gray ((t (:foreground "#709080")))) + '(zenburn-term-light-blue ((t (:foreground "#94bff3")))) + '(zenburn-term-light-cyan ((t (:foreground "#93e0e3")))) + '(zenburn-term-light-green ((t (:foreground "#c3bf9f")))) + '(zenburn-term-light-magenta ((t (:foreground "#ec93d3")))) + '(zenburn-term-light-red ((t (:foreground "#dca3a3")))) + '(zenburn-term-light-yellow ((t (:foreground "#f0dfaf")))) + '(zenburn-term-white ((t (:foreground "#ffffff")))) + + '(zenburn-term-black ((t (:foreground "#000000")))) + '(zenburn-term-dark-blue ((t (:foreground "#506070")))) + '(zenburn-term-dark-cyan ((t (:foreground "#8cd0d3")))) + '(zenburn-term-dark-green ((t (:foreground "#60b48a")))) + '(zenburn-term-dark-magenta ((t (:foreground "#dc8cc3")))) + '(zenburn-term-dark-red ((t (:foreground "#705050")))) + '(zenburn-term-dark-yellow ((t (:foreground "#dfaf8f")))) + `(zenburn-term-light-gray ((t (:foreground ,zenburn-fg)))) + + '(plain-widget-button + ((t (:weight bold)))) + '(plain-widget-button-pressed + ((t (:inverse-video t)))) + '(plain-widget-documentation + ((t (:inherit font-lock-doc)))) + `(plain-widget-field + ((t (:background ,zenburn-bg+2)))) + '(plain-widget-inactive + ((t (:strike-through t)))) + `(plain-widget-single-line-field + ((t (:background ,zenburn-bg+2)))) + + `(fancy-widget-button + ((t (:background ,zenburn-bg+1 + :box (:line-width 2 :style released-button))))) + `(fancy-widget-button-pressed + ((t (:background ,zenburn-bg+1 + :box (:line-width 2 :style pressed-button))))) + `(fancy-widget-button-highlight + ((t (:background ,zenburn-bg+1 + :box (:line-width 2 :style released-button))))) + `(fancy-widget-button-pressed-highlight + ((t (:background ,zenburn-bg+1 + :box (:line-width 2 :style pressed-button))))) + '(fancy-widget-documentation + ((t (:inherit font-lock-doc)))) + `(fancy-widget-field + ((t (:background ,zenburn-bg+2)))) + '(fancy-widget-inactive + ((t (:strike-through t)))) + `(fancy-widget-single-line-field + ((t (:background ,zenburn-bg+2)))) + + '(widget-button + ((t (:inherit plain-widget-button)))) + '(widget-button-pressed + ((t (:inherit fancy-widget-button-pressed)))) + '(widget-button-highlight + ((t (:inherit fancy-widget-button-highlight)))) + '(widget-button-pressed-highlight + ((t (:inherit fancy-widget-button-pressed-highlight)))) + '(widget-documentation + ((t (:inherit fancy-widget-documentation)))) + '(widget-field + ((t (:inherit fancy-widget-field)))) + '(widget-inactive + ((t (:inherit fancy-widget-inactive)))) + '(widget-single-line-field + ((t (:inherit fancy-widget-single-line-field)))) + + `(border ((t (:background ,zenburn-bg)))) + '(fringe ((t (:inherit zenburn-highlight-subtle)))) + '(header-line ((t (:inherit zenburn-highlight-damp + :box (:color "#2e3330" :line-width 2))))) + '(mode-line ((t (:foreground "#acbc90" :background "#1e2320" + :box (:color "#1e2320" :line-width 2))))) + '(mode-line-inactive ((t (:background "#2e3330" :foreground "#88b090" + :box (:color "#2e3330" :line-width 2))))) + `(minibuffer-prompt ((t (:foreground ,zenburn-yellow)))) + `(Buffer-menu-buffer ((t (:inherit zenburn-primary-1)))) + + '(region ((t (:foreground "#71d3b4" :background "#233323")))) + `(secondary-selection ((t (:foreground ,zenburn-fg :background "#506070")))) + + '(trailing-whitespace ((t (:inherit font-lock-warning)))) + '(highlight ((t (:underline t)))) + '(paren ((t (:inherit zenburn-lowlight-1)))) + '(show-paren-mismatch ((t (:inherit font-lock-warning)))) + '(show-paren-match ((t (:inherit font-lock-keyword)))) + '(match ((t (:weight bold)))) + + `(cursor ((t (:background ,zenburn-fg :foreground ,zenburn-bg)))) + '(hover-highlight ((t (:underline t :foreground "#f8f893")))) + '(menu ((t nil))) + '(mouse ((t (:inherit zenburn-foreground)))) + `(scroll-bar ((t (:background ,zenburn-bg+2)))) + `(tool-bar ((t (:background ,zenburn-bg+2)))) + + '(ido-first-match ((t (:inherit zenburn-primary-1)))) + '(ido-only-match ((t (:inherit zenburn-primary-2)))) + `(ido-subdir ((t (:foreground ,zenburn-yellow)))) + + `(isearch ((t (:foreground ,zenburn-fg :background "#506070")))) + `(isearch-lazy-highlight + ((t (:foreground ,zenburn-fg :background "#1e2320" :weight normal)))) + + '(mtorus-highlight ((t (:inherit zenburn-highlight-bluish)))) + '(mtorus-notify-highlight ((t (:inherit zenburn-primary-1)))) + + '(which-func ((t (:inherit mode-line)))) + + '(apt-utils-normal-package + ((t (:inherit zenburn-primary-1)))) + '(apt-utils-virtual-package + ((t (:inherit zenburn-primary-2)))) + '(apt-utils-field-keyword + ((t (:inherit font-lock-doc)))) + '(apt-utils-field-contents + ((t (:inherit font-lock-comment)))) + '(apt-utils-summary + ((t (:inherit bold)))) + '(apt-utils-description + ((t (:inherit default)))) + '(apt-utils-version + ((t (:inherit zenburn-blue)))) + '(apt-utils-broken + ((t (:inherit font-lock-warning)))) + + '(breakpoint-enabled-bitmap ((t (:inherit zenburn-primary-1)))) + '(breakpoint-disabled-bitmap ((t (:inherit font-lock-comment)))) + + '(calendar-today ((t (:underline nil :inherit zenburn-primary-2)))) + '(diary ((t (:underline nil :inherit zenburn-primary-1)))) + '(holiday ((t (:underline t :inherit zenburn-primary-4)))) + + '(bongo-unfilled-seek-bar ((t (:background "#606060")))) + + '(change-log-date ((t (:inherit zenburn-blue)))) + + '(comint-highlight-input ((t (:inherit zenburn-primary-1)))) + '(comint-highlight-prompt ((t (:inherit zenburn-primary-2)))) + + '(compilation-info ((t (:inherit zenburn-primary-1)))) + '(compilation-warning ((t (:inherit font-lock-warning)))) + + ;; TODO + '(cua-rectangle ((t (:inherit region)))) + + '(custom-button + ((t (:inherit fancy-widget-button)))) + '(custom-button-pressed + ((t (:inherit fancy-widget-button-pressed)))) + '(custom-changed + ((t (:inherit zenburn-blue)))) + '(custom-comment + ((t (:inherit font-lock-doc)))) + '(custom-comment-tag + ((t (:inherit font-lock-doc)))) + '(custom-documentation + ((t (:inherit font-lock-doc)))) + '(custom-link + ((t (:inherit zenburn-yellow :underline t)))) + '(custom-tag + ((t (:inherit zenburn-primary-2)))) + '(custom-group-tag + ((t (:inherit zenburn-primary-1)))) + '(custom-group-tag-1 + ((t (:inherit zenburn-primary-4)))) + '(custom-invalid + ((t (:inherit font-lock-warning)))) + '(custom-modified + ((t (:inherit zenburn-primary-3)))) + '(custom-rogue + ((t (:inhrit font-lock-warning)))) + '(custom-saved + ((t (:underline t)))) + '(custom-set + ((t (:inverse-video t :inherit zenburn-blue)))) + '(custom-state + ((t (:inherit font-lock-comment)))) + '(custom-variable-button + ((t (:weight bold :underline t)))) + '(custom-variable-tag + ((t (:inherit zenburn-primary-2)))) + + '(dictionary-button ((t (:inherit fancy-widget-button)))) + '(dictionary-reference ((t (:inherit zenburn-primary-1)))) + '(dictionary-word-entry ((t (:inherit font-lock-keyword)))) + + '(diff-header ((t (:inherit zenburn-highlight-subtle)))) + '(diff-index ((t (:inherit bold)))) + '(diff-file-header ((t (:inherit bold)))) + '(diff-hunk-header ((t (:inherit zenburn-highlight-subtle)))) + + '(diff-added ((t (:inherit zenburn-primary-3)))) + '(diff-removed ((t (:inherit zenburn-blue)))) + '(diff-context ((t (:inherit font-lock-comment)))) + + `(emms-pbi-song ((t (:foreground ,zenburn-yellow)))) + '(emms-pbi-current ((t (:inherit zenburn-primary-1)))) + '(emms-pbi-mark-marked ((t (:inherit zenburn-primary-2)))) + + '(erc-action ((t (:inherit erc-default)))) + '(erc-bold ((t (:weight bold)))) + '(erc-current-nick ((t (:inherit zenburn-primary-1)))) + '(erc-dangerous-host ((t (:inherit font-lock-warning)))) + `(erc-default ((t (:foreground ,zenburn-fg)))) + '(erc-direct-msg ((t (:inherit erc-default)))) + '(erc-error ((t (:inherit font-lock-warning)))) + '(erc-fool ((t (:inherit zenburn-lowlight-1)))) + '(erc-highlight ((t (:inherit hover-highlight)))) + `(erc-input ((t (:foreground ,zenburn-yellow)))) + '(erc-keyword ((t (:inherit zenburn-primary-1)))) + '(erc-nick-default ((t (:inherit bold)))) + '(erc-nick-msg ((t (:inherit erc-default)))) + '(erc-notice ((t (:inherit zenburn-green)))) + '(erc-pal ((t (:inherit zenburn-primary-3)))) + '(erc-prompt ((t (:inherit zenburn-primary-2)))) + '(erc-timestamp ((t (:inherit zenburn-green+1)))) + '(erc-underline ((t (:inherit underline)))) + + '(circe-highlight-nick-face ((t (:inherit zenburn-primary-1)))) + '(circe-my-message-face ((t (:inherit zenburn-yellow)))) + '(circe-originator-face ((t (:inherit bold)))) + '(circe-prompt-face ((t (:inherit zenburn-primary-1)))) + '(circe-server-face ((t (:inherit font-lock-comment-face)))) + + '(rcirc-my-nick ((t (:inherit zenburn-primary-1)))) + '(rcirc-other-nick ((t (:inherit bold)))) + '(rcirc-bright-nick ((t (:foreground "white" :inherit rcirc-other-nick)))) + '(rcirc-dim-nick ((t (:inherit font-lock-comment)))) + '(rcirc-nick-in-message ((t (:inherit bold)))) + '(rcirc-server ((t (:inherit font-lock-comment)))) + '(rcirc-server-prefix ((t (:inherit font-lock-comment-delimiter)))) + '(rcirc-timestamp ((t (:inherit font-lock-comment)))) + '(rcirc-prompt ((t (:inherit zenburn-primary-1)))) + '(rcirc-mode-line-nick ((t (:inherit zenburn-primary-1)))) + + '(eshell-prompt ((t (:inherit zenburn-primary-1)))) + '(eshell-ls-archive ((t (:foreground "#c3bf9f" :weight bold)))) + '(eshell-ls-backup ((t (:inherit font-lock-comment)))) + '(eshell-ls-clutter ((t (:inherit font-lock-comment)))) + `(eshell-ls-directory ((t (:foreground ,zenburn-blue+1 :weight bold)))) + `(eshell-ls-executable ((t (:foreground ,zenburn-red+1 :weight bold)))) + '(eshell-ls-unreadable ((t (:inherit zenburn-lowlight-1)))) + '(eshell-ls-missing ((t (:inherit font-lock-warning)))) + '(eshell-ls-product ((t (:inherit font-lock-doc)))) + '(eshell-ls-special ((t (:inherit zenburn-primary-1)))) + `(eshell-ls-symlink ((t (:foreground ,zenburn-cyan :weight bold)))) + + '(highlight-current-line ((t (:inherit zenburn-highlight-subtle)))) + + '(ibuffer-deletion ((t (:inherit zenburn-primary-2)))) + '(ibuffer-marked ((t (:inherit zenburn-primary-1)))) + '(ibuffer-special-buffer ((t (:inherit font-lock-doc)))) + '(ibuffer-help-buffer ((t (:inherit font-lock-comment)))) + + '(message-cited-text ((t (:inherit font-lock-comment)))) + ;;`(message-cited-text ((t (:foreground ,zenburn-blue)))) + '(message-header-name ((t (:inherit zenburn-green+1)))) + '(message-header-other ((t (:inherit zenburn-green)))) + '(message-header-to ((t (:inherit zenburn-primary-1)))) + '(message-header-from ((t (:inherit zenburn-primary-1)))) + '(message-header-cc ((t (:inherit zenburn-primary-1)))) + '(message-header-newsgroups ((t (:inherit zenburn-primary-1)))) + '(message-header-subject ((t (:inherit zenburn-primary-2)))) + '(message-header-xheader ((t (:inherit zenburn-green)))) + '(message-mml ((t (:inherit zenburn-primary-1)))) + '(message-separator ((t (:inherit font-lock-comment)))) + + '(gnus-header-name ((t (:inherit message-header-name)))) + '(gnus-header-content ((t (:inherit message-header-other)))) + '(gnus-header-from ((t (:inherit message-header-from)))) + '(gnus-header-subject ((t (:inherit message-header-subject)))) + '(gnus-header-newsgroups ((t (:inherit message-header-other)))) + + `(gnus-x-face ((t (:background ,zenburn-fg :foreground ,zenburn-bg)))) + + ;; (gnus-cite-1 ((t (:inherit message-cited-text)))) + `(gnus-cite-1 ((t (:foreground ,zenburn-blue)))) + `(gnus-cite-2 ((t (:foreground ,zenburn-blue-1)))) + `(gnus-cite-3 ((t (:foreground ,zenburn-blue-2)))) +;; (gnus-cite-4 ((t (:foreground ,zenburn-blue-3)))) +;; (gnus-cite-5 ((t (:foreground ,zenburn-blue-4)))) +;; (gnus-cite-6 ((t (:foreground ,zenburn-red-4)))) +;; (gnus-cite-5 ((t (:foreground ,zenburn-red-3)))) + `(gnus-cite-4 ((t (:foreground ,zenburn-green+2)))) + `(gnus-cite-5 ((t (:foreground ,zenburn-green+1)))) + `(gnus-cite-6 ((t (:foreground ,zenburn-green)))) + `(gnus-cite-7 ((t (:foreground ,zenburn-red)))) + `(gnus-cite-8 ((t (:foreground ,zenburn-red-1)))) + `(gnus-cite-9 ((t (:foreground ,zenburn-red-2)))) + `(gnus-cite-10 ((t (:foreground ,zenburn-yellow-1)))) + `(gnus-cite-11 ((t (:foreground ,zenburn-yellow)))) + + `(gnus-group-news-1-empty ((t (:foreground ,zenburn-yellow)))) + `(gnus-group-news-2-empty ((t (:foreground ,zenburn-green+3)))) + `(gnus-group-news-3-empty ((t (:foreground ,zenburn-green+1)))) + `(gnus-group-news-4-empty ((t (:foreground ,zenburn-blue-2)))) + `(gnus-group-news-5-empty ((t (:foreground ,zenburn-blue-3)))) + `(gnus-group-news-6-empty ((t (:inherit zenburn-lowlight-1)))) + `(gnus-group-news-low-empty ((t (:inherit zenburn-lowlight-1)))) + + '(gnus-group-mail-1-empty ((t (:inherit gnus-group-news-1-empty)))) + '(gnus-group-mail-2-empty ((t (:inherit gnus-group-news-2-empty)))) + '(gnus-group-mail-3-empty ((t (:inherit gnus-group-news-3-empty)))) + '(gnus-group-mail-4-empty ((t (:inherit gnus-group-news-4-empty)))) + '(gnus-group-mail-5-empty ((t (:inherit gnus-group-news-5-empty)))) + '(gnus-group-mail-6-empty ((t (:inherit gnus-group-news-6-empty)))) + '(gnus-group-mail-low-empty ((t (:inherit gnus-group-news-low-empty)))) + + '(gnus-group-news-1 ((t (:bold t :inherit gnus-group-news-1-empty)))) + '(gnus-group-news-2 ((t (:bold t :inherit gnus-group-news-2-empty)))) + '(gnus-group-news-3 ((t (:bold t :inherit gnus-group-news-3-empty)))) + '(gnus-group-news-4 ((t (:bold t :inherit gnus-group-news-4-empty)))) + '(gnus-group-news-5 ((t (:bold t :inherit gnus-group-news-5-empty)))) + '(gnus-group-news-6 ((t (:bold t :inherit gnus-group-news-6-empty)))) + '(gnus-group-news-low ((t (:bold t :inherit gnus-group-news-low-empty)))) + + '(gnus-group-mail-1 ((t (:bold t :inherit gnus-group-mail-1-empty)))) + '(gnus-group-mail-2 ((t (:bold t :inherit gnus-group-mail-2-empty)))) + '(gnus-group-mail-3 ((t (:bold t :inherit gnus-group-mail-3-empty)))) + '(gnus-group-mail-4 ((t (:bold t :inherit gnus-group-mail-4-empty)))) + '(gnus-group-mail-5 ((t (:bold t :inherit gnus-group-mail-5-empty)))) + '(gnus-group-mail-6 ((t (:bold t :inherit gnus-group-mail-6-empty)))) + '(gnus-group-mail-low ((t (:bold t :inherit gnus-group-mail-low-empty)))) + + `(gnus-signature ((t (:foreground ,zenburn-yellow)))) + + '(gnus-summary-selected + ((t (:inherit zenburn-primary-1)))) + '(gnus-summary-cancelled + ((t (:inherit zenburn-highlight-alerting)))) + + '(gnus-summary-low-ticked + ((t (:inherit zenburn-primary-2)))) + '(gnus-summary-normal-ticked + ((t (:inherit zenburn-primary-2)))) + '(gnus-summary-high-ticked + ((t (:inherit zenburn-primary-2)))) + + '(gnus-summary-low-unread + ((t (:inherit zenburn-foreground :weight normal)))) + '(gnus-summary-normal-unread + ((t (:inherit zenburn-foreground :weight normal)))) + '(gnus-summary-high-unread + ((t (:inherit zenburn-foreground :weight bold)))) + + '(gnus-summary-low-read + ((t (:inherit zenburn-green :weight normal)))) + '(gnus-summary-normal-read + ((t (:inherit zenburn-green :weight normal)))) + '(gnus-summary-high-read + ((t (:inherit zenburn-green :weight bold)))) + + '(gnus-summary-low-ancient + ((t (:inherit zenburn-blue :weight normal)))) + '(gnus-summary-normal-ancient + ((t (:inherit zenburn-blue :weight normal)))) + '(gnus-summary-high-ancient + ((t (:inherit zenburn-blue)))) + + '(help-argument-name ((t (:weight bold)))) + + ;; See also the variable definitions at the top of this file + '(imaxima-latex-error ((t (:inherit font-lock-warning)))) + + `(info-xref ((t (:foreground ,zenburn-yellow :weight bold)))) + '(info-xref-visited ((t (:inherit info-xref :weight normal)))) + '(info-header-xref ((t (:inherit info-xref)))) + `(info-menu-star ((t (:foreground ,zenburn-orange :weight bold)))) + `(info-menu-5 ((t (:inherit info-menu-star)))) + '(info-node ((t (:weight bold)))) + '(info-header-node ((t (:weight normal)))) + + '(jabber-roster-user-chatty + ((t (:inherit zenburn-primary-1)))) + '(jabber-roster-user-online + ((t (:inherit zenburn-primary-2)))) + '(jabber-roster-user-away + ((t (:inherit font-lock-doc)))) + '(jabber-roster-user-xa + ((t (:inherit font-lock-comment)))) + '(jabber-roster-user-offline + ((t (:inherit zenburn-lowlight-1)))) + '(jabber-roster-user-dnd + ((t (:inherit zenburn-primary-5)))) + '(jabber-roster-user-error + ((t (:inherit font-lock-warning)))) + + '(jabber-title-small + ((t (:inherit zenburn-title :height 1.2)))) + '(jabber-title-medium + ((t (:inherit jabber-title-small :height 1.2)))) + '(jabber-title-large + ((t (:inherit jabber-title-medium :height 1.2)))) + + '(jabber-chat-prompt-local + ((t (:inherit zenburn-primary-1)))) + '(jabber-chat-prompt-foreign + ((t (:inherit zenburn-primary-2)))) + + '(jabber-rare-time-face + ((t (:inherit zenburn-green+1)))) + + '(jde-java-font-lock-modifier + ((t (:inherit zenburn-primary-2)))) + '(jde-java-font-lock-doc-tag + ((t (:inherit zenburn-primary-1)))) + '(jde-java-font-lock-constant + ((t (:inherit font-lock-constant)))) + '(jde-java-font-lock-package + ((t (:inherit zenburn-primary-3)))) + '(jde-java-font-lock-number + ((t (:inherit font-lock-constant)))) + '(jde-java-font-lock-operator + ((t (:inherit font-lock-keyword)))) + '(jde-java-font-lock-link + ((t (:inherit zenburn-primary-5 :underline t)))) + + '(keywiz-right ((t (:inherit zenburn-primary-1)))) + '(keywiz-wrong ((t (:inherit font-lock-warning)))) + '(keywiz-command ((t (:inherit zenburn-primary-2)))) + + '(font-latex-bold ((t (:inherit bold)))) + '(font-latex-warning ((t (:inherit font-lock-warning)))) + '(font-latex-sedate ((t (:inherit zenburn-primary-1)))) + '(font-latex-title-4 ((t (:inherit zenburn-title)))) + + '(makefile-space ((t (:inherit font-lock-warning)))) + '(makefile-shell ((t (nil)))) + ;; This does not work very well because everything that's highlighted + ;; inside the shell region will get its own box. + ;; (makefile-shell ((t (:background "#4f4f4f" + ;; :box (:line-width 2 :color "#4f4f4f"))))) + + '(nxml-delimited-data ((t (:inherit font-lock-string)))) + '(nxml-name ((t (:inherit zenburn-primary-1)))) + '(nxml-ref ((t (:inherit zenburn-primary-5)))) + '(nxml-delimiter ((t (:inherit default)))) + '(nxml-text ((t (:inherit default)))) + + '(nxml-comment-content + ((t (:inherit font-lock-comment)))) + '(nxml-comment-delimiter + ((t (:inherit nxml-comment-content)))) + '(nxml-processing-instruction-target + ((t (:inherit zenburn-primary-2)))) + '(nxml-processing-instruction-delimiter + ((t (:inherit nxml-processing-instruction-target)))) + '(nxml-processing-instruction-content + ((t (:inherit nxml-processing-instruction-target)))) + '(nxml-cdata-section-CDATA + ((t (:inherit zenburn-primary-4)))) + '(nxml-cdata-section-delimiter + ((t (:inherit nxml-cdata-section-CDATA)))) + '(nxml-cdata-section-content + ((t (:inherit nxml-text)))) + '(nxml-entity-ref-name + ((t (:inherit zenburn-primary-5)))) + '(nxml-entity-ref-delimiter + ((t (:inherit nxml-entity-ref-name)))) + '(nxml-char-ref-number + ((t (:inherit nxml-entity-ref-name)))) + '(nxml-char-ref-delimiter + ((t (:inherit nxml-entity-ref-delimiter)))) + + '(nxml-tag-delimiter ((t (:inherit default)))) + '(nxml-tag-slash ((t (:inherit default)))) + '(nxml-element-local-name ((t (:inherit zenburn-primary-1)))) + '(nxml-element-prefix ((t (:inherit default)))) + '(nxml-element-colon ((t (:inherit default)))) + + '(nxml-attribute-local-name + ((t (:inherit zenburn-primary-3)))) + '(nxml-namespace-attribute-prefix + ((t (:inherit nxml-attribute-local-name)))) + '(nxml-attribute-value + ((t (:inherit font-lock-string)))) + '(nxml-attribute-value-delimiter + ((t (:inherit nxml-attribute-value)))) + '(nxml-attribute-prefix + ((t (:inherit default)))) + '(nxml-namespace-attribute-xmlns + ((t (:inherit nxml-attribute-prefix)))) + '(nxml-attribute-colon + ((t (:inherit default)))) + '(nxml-namespace-attribute-colon + ((t (:inherit nxml-attribute-colon)))) + + '(org-agenda-date-today ((t (:foreground "white" + :slant italic :weight bold))) t) ;; white + '(org-agenda-structure ((t (:inherit font-lock-comment-face)))) ;; zenburn-green + '(org-archived ((t (:foreground "#8f8f8f")))) ;; zenburn-bg slight lighter + '(org-column ((t (:height 98 :family "DejaVu Sans Mono")))) ;; n/a + '(org-checkbox ((t (:background "#5f5f5f" :foreground "white" ;; zenburn-fg on zenburn-bg+2 + :box (:line-width 1 :style released-button))))) ;; - turn checkboxes into buttons + '(org-date ((t (:foreground "#8cd0d3" :underline t)))) ;; zenburn-blue + '(org-deadline-announce ((t (:foreground "#bc8383")))) ;; zenburn-red-1 + '(org-done ((t (:bold t :weight bold :foreground "#afd8af")))) ;; zenburn-green+3 + '(org-formula ((t (:foreground "#d0bf8f")))) ;; zenburn-yellow-2 + '(org-headline-done ((t (:foreground "#afd8af")))) ;; zenburn-green+3 + '(org-hide ((t (:foreground "#282828")))) ;; zenburn-bg slight darker + '(org-level-1 ((t (:foreground "#dfaf8f")))) ;; zenburn-orange + '(org-level-2 ((t (:foreground "#f0dfaf")))) ;; zenburn-yellow + '(org-level-3 ((t (:foreground "#8cd0d3")))) ;; zenburn-blue + '(org-level-4 ((t (:foreground "#93e0e3")))) ;; zenburn-cyan + '(org-level-5 ((t (:foreground "#7cb8bb")))) ;; zenburn-blue-1 + '(org-level-6 ((t (:foreground "#6ca0a3")))) ;; zenburn-blue-2 + '(org-level-7 ((t (:foreground "#5c888b")))) ;; zenburn-blue-3 + '(org-level-8 ((t (:foreground "#4c7073")))) ;; zenburn-blue-4 + '(org-link ((t (:foreground "#d0bf8f" :underline t)))) ;; zenburn-yellow-2 + ;'(org-priority faces TODO + '(org-scheduled ((t (:foreground "#bfebbf")))) ;; zenburn-green+4 + '(org-scheduled-previously ((t (:foreground "#8c5353")))) ;; zenburn-red-4 + '(org-scheduled-today ((t (:foreground "#94bff3")))) ;; zenburn-blue+1 + '(org-special-keyword ((t (:foreground "#e0cf9f")))) ;; zenburn-yellow-1 + '(org-table ((t (:foreground "#9fc59f")))) ;; zenburn-green+2 + '(org-tag ((t (:bold t :weight bold)))) ;; n/a + '(org-time-grid ((t (:foreground "#ffc9a4")))) ;; zenburn-orange slight lighter + '(org-todo ((t (:bold t :foreground "#cc9393" :weight bold)))) ;; zenburn-red + '(org-upcoming-deadline ((t (:inherit font-lock-keyword-face)))) ;; zenburn-fg + '(org-warning ((t (:bold t :foreground "#cc9393" :weight bold))));; zenburn-red + + ;; TODO + '(outline-8 ((t (:inherit default)))) + '(outline-7 ((t (:inherit outline-8 :height 1.0)))) + '(outline-6 ((t (:inherit outline-7 :height 1.0)))) + '(outline-5 ((t (:inherit outline-6 :height 1.0)))) + '(outline-4 ((t (:inherit outline-5 :height 1.0)))) + '(outline-3 ((t (:inherit outline-4 :height 1.0)))) + '(outline-2 ((t (:inherit outline-3 :height 1.0)))) + '(outline-1 ((t (:inherit outline-2 :height 1.0)))) + + '(setnu-line-number ((t (:inherit zenburn-lowlight-2)))) + + '(speedbar-button ((t (:inherit zenburn-primary-1)))) + '(speedbar-file ((t (:inherit zenburn-primary-2)))) + '(speedbar-directory ((t (:inherit zenburn-primary-5)))) + '(speedbar-tag ((t (:inherit font-lock-function-name)))) + '(speedbar-highlight ((t (:underline t)))) + + '(strokes-char ((t (:inherit font-lock-keyword)))) + + '(todoo-item-header + ((t (:inherit zenburn-primary-1)))) + '(todoo-item-assigned-header + ((t (:inherit zenburn-primary-2)))) + `(todoo-sub-item-header + ((t (:foreground ,zenburn-yellow)))) + + '(tuareg-font-lock-governing + ((t (:inherit zenburn-primary-2)))) + '(tuareg-font-lock-interactive-error + ((t (:inherit font-lock-warning)))) + '(tuareg-font-lock-interactive-output + ((t (:inherit zenburn-primary-3)))) + '(tuareg-font-lock-operator + ((t (:inherit font-lock-operator)))) + + '(w3m-form-button + ((t (:inherit widget-button)))) + '(w3m-form-button-pressed + ((t (:inherit widget-button-pressed)))) + '(w3m-form-button-mouse + ((t (:inherit widget-button-pressed)))) + '(w3m-tab-unselected + ((t (:box (:line-width 1 :style released-button))))) + '(w3m-tab-selected + ((t (:box (:line-width 1 :style pressed-button))))) + '(w3m-tab-unselected-retrieving + ((t (:inherit (w3m-tab-unselected widget-inactive))))) + '(w3m-tab-selected-retrieving + ((t (:inherit (w3m-tab-selected widget-inactive))))) + '(w3m-tab-background + ((t (:inherit zenburn-highlight-subtle)))) + '(w3m-anchor + ((t (:inherit zenburn-primary-1)))) + '(w3m-arrived-anchor + ((t (:inherit zenburn-primary-2)))) + '(w3m-image + ((t (:inherit zenburn-primary-4)))) + '(w3m-form + ((t (:inherit widget-field))))) + + (zenburn-make-face-alias-clauses + '(Buffer-menu-buffer-face + apt-utils-broken-face + apt-utils-description-face + apt-utils-field-contents-face + apt-utils-field-keyword-face + apt-utils-normal-package-face + apt-utils-summary-face + apt-utils-version-face + apt-utils-virtual-package-face + breakpoint-disabled-bitmap-face + breakpoint-enabled-bitmap-face + calendar-today-face + change-log-date-face + compilation-info-face + compilation-warning-face + cua-rectangle-face + custom-button-face + custom-button-pressed-face + custom-changed-face + custom-comment-face + custom-comment-tag-face + custom-documentation-face + custom-face-tag-face + custom-group-tag-face + custom-group-tag-face-1 + custom-invalid-face + custom-modified-face + custom-rogue-face + custom-saved-face + custom-set-face + custom-state-face + custom-variable-button-face + custom-variable-tag-face + diary-face + dictionary-button-face + dictionary-reference-face + dictionary-word-entry-face + diff-added-face + diff-context-face + diff-file-header-face + diff-header-face + diff-hunk-header-face + diff-index-face + diff-removed-face + emms-pbi-current-face + emms-pbi-mark-marked-face + emms-pbi-song-face + erc-action-face + erc-bold-face + erc-current-nick-face + erc-dangerous-host-face + erc-default-face + erc-direct-msg-face + erc-error-face + erc-fool-face + erc-highlight-face + erc-input-face + erc-keyword-face + erc-nick-default-face + erc-nick-msg-face + erc-notice-face + erc-pal-face + erc-prompt-face + erc-timestamp-face + erc-underline-face + eshell-ls-archive-face + eshell-ls-backup-face + eshell-ls-clutter-face + eshell-ls-directory-face + eshell-ls-executable-face + eshell-ls-missing-face + eshell-ls-product-face + eshell-ls-special-face + eshell-ls-symlink-face + eshell-ls-unreadable-face + eshell-prompt-face + fancy-widget-button-face + fancy-widget-button-highlight-face + fancy-widget-button-pressed-face + fancy-widget-button-pressed-highlight-face + fancy-widget-documentation-face + fancy-widget-field-face + fancy-widget-inactive-face + fancy-widget-single-line-field-face + font-latex-bold-face + font-latex-sedate-face + font-latex-title-4-face + font-latex-warning-face + font-lock-builtin-face + font-lock-comment-delimiter-face + font-lock-comment-face + font-lock-constant-face + font-lock-doc-face + font-lock-function-name-face + font-lock-keyword-face + font-lock-negation-char-face + font-lock-operator-face + font-lock-preprocessor-face + font-lock-pseudo-keyword-face + font-lock-string-face + font-lock-type-face + font-lock-variable-name-face + font-lock-warning-face + gnus-cite-face-1 + gnus-cite-face-10 + gnus-cite-face-11 + gnus-cite-face-2 + gnus-cite-face-3 + gnus-cite-face-4 + gnus-cite-face-5 + gnus-cite-face-6 + gnus-cite-face-7 + gnus-cite-face-8 + gnus-cite-face-9 + gnus-group-mail-1-empty-face + gnus-group-mail-2-empty-face + gnus-group-mail-3-empty-face + gnus-group-mail-3-face + gnus-group-news-1-empty-face + gnus-group-news-2-empty-face + gnus-group-news-3-empty-face + gnus-header-content-face + gnus-header-from-face + gnus-header-name-face + gnus-header-newsgroups-face + gnus-header-subject-face + gnus-signature-face + gnus-summary-cancelled-face + gnus-summary-high-ancient-face + gnus-summary-high-read-face + gnus-summary-high-ticked-face + gnus-summary-high-unread-face + gnus-summary-low-ancient-face + gnus-summary-low-read-face + gnus-summary-low-ticked-face + gnus-summary-low-unread-face + gnus-summary-normal-ancient-face + gnus-summary-normal-read-face + gnus-summary-normal-ticked-face + gnus-summary-normal-unread-face + gnus-summary-selected-face + highlight-current-line-face + holiday-face + ibuffer-deletion-face + ibuffer-help-buffer-face + ibuffer-marked-face + ibuffer-special-buffer-face + ido-first-match-face + ido-only-match-face + ido-subdir-face + imaxima-latex-error-face + isearch-lazy-highlight-face + jde-java-font-lock-constant-face + jde-java-font-lock-doc-tag-face + jde-java-font-lock-link-face + jde-java-font-lock-modifier-face + jde-java-font-lock-number-face + jde-java-font-lock-operator-face + jde-java-font-lock-package-face + keywiz-command-face + keywiz-right-face + keywiz-wrong-face + makefile-shell-face + makefile-space-face + message-cited-text-face + message-header-cc-face + message-header-from-face + message-header-name-face + message-header-newsgroups-face + message-header-other-face + message-header-subject-face + message-header-to-face + message-header-xheader-face + message-mml-face + message-separator-face + mtorus-highlight-face + mtorus-notify-highlight-face + nxml-attribute-colon-face + nxml-attribute-local-name-face + nxml-attribute-prefix-face + nxml-attribute-value-delimiter-face + nxml-attribute-value-face + nxml-cdata-section-CDATA-face + nxml-cdata-section-content-face + nxml-cdata-section-delimiter-face + nxml-char-ref-delimiter-face + nxml-char-ref-number-face + nxml-comment-content-face + nxml-comment-delimiter-face + nxml-delimited-data-face + nxml-delimiter-face + nxml-element-colon-face + nxml-element-local-name-face + nxml-element-prefix-face + nxml-entity-ref-delimiter-face + nxml-entity-ref-name-face + nxml-name-face + nxml-namespace-attribute-colon-face + nxml-namespace-attribute-prefix-face + nxml-namespace-attribute-xmlns-face + nxml-processing-instruction-content-face + nxml-processing-instruction-delimiter-face + nxml-processing-instruction-target-face + nxml-ref-face + nxml-tag-delimiter-face + nxml-tag-slash-face + nxml-text-face + org-agenda-date-today-face + org-agenda-structure-face + org-archived-face + org-column-face + ;org-checkbox-face + org-date-face + org-deadline-announce-face + org-done-face + org-formula-face + org-headline-done-face + org-hide-face + org-level-1-face + org-level-2-face + org-level-3-face + org-level-4-face + org-level-5-face + org-level-6-face + org-level-7-face + org-level-8-face + org-link-face + ;org-priority-face + org-scheduled-face + org-scheduled-previously-face + org-scheduled-today-face + org-special-keyword-face + org-table-face + org-tag-face + org-time-grid-face + org-todo-face + org-upcoming-deadline-face + org-warning-face + paren-face + plain-widget-button-face + plain-widget-button-pressed-face + plain-widget-documentation-face + plain-widget-field-face + plain-widget-inactive-face + plain-widget-single-line-field-face + setnu-line-number-face + show-paren-match-face + show-paren-mismatch-face + speedbar-button-face + speedbar-directory-face + speedbar-file-face + speedbar-highlight-face + speedbar-tag-face + strokes-char-face + todoo-item-assigned-header-face + todoo-item-header-face + todoo-sub-item-header-face + tuareg-font-lock-governing-face + tuareg-font-lock-interactive-error-face + tuareg-font-lock-interactive-output-face + tuareg-font-lock-operator-face + w3m-anchor-face + w3m-arrived-anchor-face + w3m-form-button-face + w3m-form-button-mouse-face + w3m-form-button-pressed-face + w3m-form-face + w3m-image-face + w3m-tab-background-face + w3m-tab-selected-face + w3m-tab-selected-retrieving-face + w3m-tab-unselected-face + w3m-tab-unselected-retrieving-face + widget-button-face + widget-button-highlight-face + widget-button-pressed-face + widget-button-pressed-highlight-face + widget-documentation-face + widget-field-face + widget-inactive-face + widget-single-line-field-face)) + ))) + +(defalias 'zenburn #'color-theme-zenburn) + +(provide 'zenburn) + +;; Local Variables: +;; time-stamp-format: "%:y-%02m-%02d %02H:%02M" +;; time-stamp-start: "Updated: " +;; time-stamp-end: "$" +;; End: + +;;; zenburn.el ends here.