diff options
19 files changed, 1337 insertions, 0 deletions
diff --git a/home/.emacs.d/config/01-melpa.el b/home/.emacs.d/config/01-melpa.el new file mode 100755 index 0000000..3a56608 --- /dev/null +++ b/home/.emacs.d/config/01-melpa.el @@ -0,0 +1,7 @@ +(require 'package) +(add-to-list 'package-archives + '("melpa" . "http://melpa.milkbox.net/packages/") t) +(package-initialize) + +(when (not package-archive-contents) + (package-refresh-contents)) diff --git a/home/.emacs.d/config/c.el b/home/.emacs.d/config/c.el new file mode 100644 index 0000000..bcb6f3f --- /dev/null +++ b/home/.emacs.d/config/c.el @@ -0,0 +1,2 @@ +;; c style +(setq c-default-style "linux") diff --git a/home/.emacs.d/config/ensime.el b/home/.emacs.d/config/ensime.el new file mode 100755 index 0000000..6242b31 --- /dev/null +++ b/home/.emacs.d/config/ensime.el @@ -0,0 +1,3 @@ +;; ENhanced Scala Interaction Mode for text Editors +(require 'ensime) +(add-hook 'scala-mode-hook 'ensime-scala-mode-hook) diff --git a/home/.emacs.d/config/markdown.el b/home/.emacs.d/config/markdown.el new file mode 100755 index 0000000..07afb80 --- /dev/null +++ b/home/.emacs.d/config/markdown.el @@ -0,0 +1,6 @@ +(autoload 'markdown-mode "markdown-mode" + "Major mode for editing Markdown files" t) +(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode)) +(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) +(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)) +(custom-set-variables '(markdown-command "/usr/bin/pandoc")) diff --git a/home/.emacs.d/config/mutt.el b/home/.emacs.d/config/mutt.el new file mode 100644 index 0000000..d5d73cc --- /dev/null +++ b/home/.emacs.d/config/mutt.el @@ -0,0 +1,2 @@ +;; Mutt support. +(setq auto-mode-alist (append '(("/tmp/mutt.*" . mail-mode)) auto-mode-alist)) diff --git a/home/.emacs.d/config/neotree.el b/home/.emacs.d/config/neotree.el new file mode 100644 index 0000000..a9c6fc4 --- /dev/null +++ b/home/.emacs.d/config/neotree.el @@ -0,0 +1,16 @@ +(require 'neotree) + +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(neo-banner-face ((t :inherit shadow)) t) + '(neo-button-face ((t :inherit dired-directory)) t) + '(neo-dir-link-face ((t :inherit dired-directory)) t) + '(neo-expand-btn-face ((t :inherit button)) t) + '(neo-file-link-face ((t :inherit default)) t) + '(neo-header-face ((t :inherit shadow)) t) + '(neo-root-dir-face ((t :inherit link-visited :underline nil)) t)) + +(setq neo-theme 'ascii) diff --git a/home/.emacs.d/config/themes.el b/home/.emacs.d/config/themes.el new file mode 100644 index 0000000..9a26f6d --- /dev/null +++ b/home/.emacs.d/config/themes.el @@ -0,0 +1,2 @@ +(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/emacs-color-theme-solarized") +(load-theme 'solarized t) diff --git a/home/.emacs.d/init.el b/home/.emacs.d/init.el new file mode 100644 index 0000000..9c84492 --- /dev/null +++ b/home/.emacs.d/init.el @@ -0,0 +1,22 @@ +;;; General configuration + +;; clean up interface +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) +(global-linum-mode t) +(setq column-number-mode t) +(setq inhibit-splash-screen t) +(setq ring-bell-function 'ignore) + +;; disable backups, autosave and lockfiles (use scm instead) +(setq make-backup-files nil) +(setq auto-save-default nil) +(setq create-lockfiles nil) +(global-auto-revert-mode t) + +;; font +(set-face-attribute 'default nil :height 110); value is in 1/10pt, so 100 will give you 10pt, etc. + +;;; Other configuration +(mapc 'load (file-expand-wildcards "~/.emacs.d/config/*.el")) diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/.gitignore b/home/.emacs.d/themes/emacs-color-theme-solarized/.gitignore new file mode 100644 index 0000000..016d3b1 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/.gitignore @@ -0,0 +1 @@ +*.elc
\ No newline at end of file diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/.travis.yml b/home/.emacs.d/themes/emacs-color-theme-solarized/.travis.yml new file mode 100644 index 0000000..c1a77b4 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/.travis.yml @@ -0,0 +1,164 @@ +### +### Notes +### +### The travis web interface may choke silently and fail to +### update when there are issues with the .travis.yml file. +### +### The "travis-lint" command-line tool does not catch all +### errors which may lead to silent failure. +### +### Shell-style comments in this file must have "#" as the +### *first* character of the line. +### + +### +### language +### + +# travis-lint no longer permits this value +# language: emacs-lisp + +### +### defining the build matrix +### +### ===> <=== +### ===> each variation in env/matrix will be built and tested <=== +### ===> <=== +### +### variables under env/global are available to the build process +### but don't cause the creation of a separate variation +### + +env: + matrix: +# - EMACS=xemacs21 + - EMACS=emacs22 + - EMACS=emacs23 + - EMACS=emacs24 + - EMACS=emacs-snapshot + global: + - SOME_TOKEN=some_value + +### +### allowing build failures +### + +matrix: + allow_failures: +# - env: EMACS=xemacs21 + - env: EMACS=emacs22 + - env: EMACS=emacs-snapshot + +### +### limit build attempts to defined branches +### +### notes +### +### This controls which branches are built. +### +### You can also control which branches affect the web badge, by +### appending "?branch=master,staging,production" to the end of the +### image URL (replacing "master,staging,production" with a +### comma-separated list of branches to be reflected in the badge). +### +# +# branches: +# only: +# - master +# + +### +### runtime initialization +### +### notes +### +### emacs22 is extracted manually from Ubuntu Maverick. +### +### emacs23 is the stock default, but is updated anyway to +### a GUI-capable version, which will have certain additional +### functions compiled in. +### +### emacs24 (current stable release) is obtained from the +### cassou PPA: http://launchpad.net/~cassou/+archive/emacs +### +### emacs-snapshot (trunk) is obtained from the Ubuntu Emacs Lisp PPA: +### https://launchpad.net/~ubuntu-elisp/+archive/ppa +### For the emacs-snapshot build, bleeding-edge versions +### of all test dependencies are also used. +### + +before_install: + - git submodule --quiet update --init --recursive + +install: +# - if [ "$EMACS" = 'xemacs21' ]; then +# sudo apt-get -qq update && +# sudo apt-get -qq -f install && +# sudo apt-get -qq install xemacs21-basesupport xemacs21-basesupport-el xemacs21-supportel xemacs21-support xemacs21-mulesupport-el xemacs21-mulesupport xemacs21-mule-canna-wnn xemacs21-mule-canna-wnn; +# fi + - if [ "$EMACS" = 'emacs22' ]; then + curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22_22.2-0ubuntu9_i386.deb && + curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-bin-common_22.2-0ubuntu9_i386.deb && + curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-common_22.2-0ubuntu9_all.deb && + curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-el_22.2-0ubuntu9_all.deb && + curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-gtk_22.2-0ubuntu9_i386.deb && + sudo apt-get -qq update && + sudo apt-get -qq remove emacs emacs23-bin-common emacs23-common emacs23-nox && + sudo apt-get -qq --fix-missing install install-info emacsen-common libjpeg62:i386 xaw3dg:i386 liblockfile1:i386 libasound2:i386 libgif4:i386 libncurses5:i386 libpng12-0:i386 libtiff4:i386 libxpm4:i386 libxft2:i386 libglib2.0-0:i386 libgtk2.0-0:i386 && + sudo apt-get -qq -f install && + sudo dpkg -i emacs22-common_22.2-0ubuntu9_all.deb emacs22-el_22.2-0ubuntu9_all.deb && + sudo dpkg -i --force-depends emacs22-bin-common_22.2-0ubuntu9_i386.deb && + sudo dpkg -i emacs22_22.2-0ubuntu9_i386.deb emacs22-gtk_22.2-0ubuntu9_i386.deb && + sudo update-alternatives --set emacs22 /usr/bin/emacs22-gtk; + fi + - if [ "$EMACS" = 'emacs23' ]; then + sudo apt-get -qq update && + sudo apt-get -qq -f install && + sudo apt-get -qq install emacs23-gtk emacs23-el emacs-goodies-el; + fi + - if [ "$EMACS" = 'emacs24' ]; then + sudo add-apt-repository -y ppa:cassou/emacs && + sudo apt-get -qq update && + sudo apt-get -qq -f install && + sudo apt-get -qq install emacs24 emacs24-el; + fi + - if [ "$EMACS" = 'emacs-snapshot' ]; then + sudo add-apt-repository -y ppa:ubuntu-elisp/ppa && + sudo apt-get -qq update && + sudo apt-get -qq -f install && + sudo apt-get -qq install emacs-snapshot && + sudo apt-get -qq install emacs-snapshot-el; + fi + +before_script: + - if [ "$EMACS" = 'emacs-snapshot' ]; then + make downloads-latest; + else + make downloads; + fi + +### +### the actual build/test command +### +### Use "make test-batch" to test without byte-compiling. +### The default command avoids byte-compiling on Emacs 22. +### + +script: + $EMACS --version && ( test "$EMACS" != 'emacs22' && make test EMACS="$EMACS" || make test-batch EMACS="$EMACS" ) + +### +### settings +### + +notifications: + email: false + +# +# Emacs +# +# Local Variables: +# indent-tabs-mode: nil +# coding: utf-8 +# End: +# diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/LICENSE b/home/.emacs.d/themes/emacs-color-theme-solarized/LICENSE new file mode 100644 index 0000000..ee08d7e --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2011 Ethan Schoonover + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/Makefile b/home/.emacs.d/themes/emacs-color-theme-solarized/Makefile new file mode 100644 index 0000000..70d22d7 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/Makefile @@ -0,0 +1,68 @@ +EMACS=emacs + +EMACS_CLEAN=-Q +EMACS_BATCH=$(EMACS_CLEAN) --batch +TESTS= + +CURL=curl --silent +WORK_DIR=$(shell pwd) +PACKAGE_NAME=$(shell basename $(WORK_DIR)) +AUTOLOADS_FILE=$(PACKAGE_NAME)-autoloads.el +TRAVIS_FILE=.travis.yml +TEST_DIR=ert-tests +TEST_DEP_1=ert +TEST_DEP_1_STABLE_URL=http://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/ert.el?h=emacs-24.3 +TEST_DEP_1_LATEST_URL=http://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/ert.el?h=master + +.PHONY : build downloads downloads-latest autoloads test-autoloads test-travis \ + test test-interactive clean edit test-dep-1 test-dep-2 test-dep-3 \ + test-dep-4 test-dep-5 test-dep-6 test-dep-7 test-dep-8 test-dep-9 + +build : + $(EMACS) $(EMACS_BATCH) --eval \ + "(if (< emacs-major-version 24) \ + (progn \ + (add-to-list 'load-path \"./\") \ + (require 'color-theme-solarized) \ + (color-theme-solarized)) \ + (add-to-list 'custom-theme-load-path \"./\") \ + (load-theme 'solarized t))" + +test-dep-1 : + @cd $(TEST_DIR) && \ + $(EMACS) $(EMACS_BATCH) -L . -L .. -l $(TEST_DEP_1) || \ + (echo "Can't load test dependency $(TEST_DEP_1).el, run 'make downloads' to fetch it" ; exit 1) + +downloads : + $(CURL) '$(TEST_DEP_1_STABLE_URL)' > $(TEST_DIR)/$(TEST_DEP_1).el + +downloads-latest : + $(CURL) '$(TEST_DEP_1_LATEST_URL)' > $(TEST_DIR)/$(TEST_DEP_1).el + +autoloads : + $(EMACS) $(EMACS_BATCH) --eval \ + "(progn \ + (setq generated-autoload-file \"$(WORK_DIR)/$(AUTOLOADS_FILE)\") \ + (update-directory-autoloads \"$(WORK_DIR)\"))" + +test-autoloads : autoloads + @$(EMACS) $(EMACS_BATCH) -L . -l "./$(AUTOLOADS_FILE)" || \ + ( echo "failed to load autoloads: $(AUTOLOADS_FILE)" && false ) + +test-travis : + @if test -z "$$TRAVIS" && test -e $(TRAVIS_FILE); then travis-lint $(TRAVIS_FILE); fi + +test : build test-dep-1 test-autoloads + @cd $(TEST_DIR) && \ + (for test_lib in *-test.el; do \ + $(EMACS) $(EMACS_BATCH) -L . -L .. -l cl -l $(TEST_DEP_1) -l $$test_lib --eval \ + "(progn \ + (fset 'ert--print-backtrace 'ignore) \ + (ert-run-tests-batch-and-exit '(and \"$(TESTS)\" (not (tag :interactive)))))" || exit 1; \ + done) + +clean : + @rm -f $(AUTOLOADS_FILE) *.elc *~ */*.elc */*~ $(TEST_DIR)/$(TEST_DEP_1).el \ + $(TEST_DIR)/$(TEST_DEP_2).el $(TEST_DIR)/$(TEST_DEP_3).el $(TEST_DIR)/$(TEST_DEP_4).el \ + $(TEST_DIR)/$(TEST_DEP_5).el $(TEST_DIR)/$(TEST_DEP_6).el $(TEST_DIR)/$(TEST_DEP_7).el \ + $(TEST_DIR)/$(TEST_DEP_8).el $(TEST_DIR)/$(TEST_DEP_9).el diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/README.md b/home/.emacs.d/themes/emacs-color-theme-solarized/README.md new file mode 100644 index 0000000..aef0126 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/README.md @@ -0,0 +1,184 @@ +Solarized Colorscheme for Emacs +=============================== + +Stolen from Ethan Schoonover <es@ethanschoonover.com> by Greg Pfeil <greg@technomadic.org> + +Visit the [Solarized homepage] +------------------------------ + +See the [Solarized homepage] for screenshots, +details and colorscheme versions for Vim, Mutt, popular terminal emulators and +other applications. + +Screenshots +----------- + +![solarized dark](https://github.com/altercation/solarized/raw/master/img/solarized-vim.png) + +Downloads +--------- + +If you have come across this colorscheme via the [Emacs-only repository] on +github, see the link above to the Solarized homepage or visit the main [Solarized repository]. + +The [Emacs-only repository] is kept in sync with the main [Solarized repository]. Issues, bug reports, changelogs that are not specific to the Emacs implementation should be submitted to the main [Solarized repository]. + +[Solarized homepage]: http://ethanschoonover.com/solarized +[Solarized repository]: https://github.com/altercation/solarized +[Emacs-only repository]: https://github.com/sellout/emacs-color-theme-solarized +[color-theme]: http://www.nongnu.org/color-theme + +Installation & Usage +-------------------- + +### Emacs 24 + +1. Add the `emacs-color-theme-solarized` directory to your Emacs `custom-theme-load-path`. +2. Add `(load-theme 'solarized t)` to your Emacs init file. +3. Reload the init file, or restart Emacs. + +### [color-theme] \(pre-Emacs 24\) + +1. Download and install [color-theme]. +2. Add the `emacs-color-theme-solarized` directory to your Emacs `load-path`. +3. Add `(require 'color-theme-solarized)` and `(color-theme-solarized)` to your Emacs init file (usually `~/.emacs`). +3. Reload the init file, or restart Emacs. + +### all versions + +To switch between the light and dark variations of Solarized, set the frame’s `background-mode`. This can be accomplished globally using `M-x customize-variable frame-background-mode` or on a per-frame basis with `(set-frame-parameter nil 'background-mode 'light)` (or `'dark`). If you're in a terminal, you must also set the terminal parameter with `(set-terminal-parameter nil 'background-mode 'light)` (or `'dark`). Remember to call `enable-theme` after changing the background mode to update the state of the theme. + +This allows you to have a mix of light and dark frames. I tend to use light frames in the GUI and dark frames in my terminal, so I use the following code: + +```common-lisp +(add-hook 'after-make-frame-functions + (lambda (frame) + (let ((mode (if (display-graphic-p frame) 'light 'dark))) + (set-frame-parameter frame 'background-mode mode) + (set-terminal-parameter frame 'background-mode mode)) + (enable-theme 'solarized))) +``` + +### IMPORTANT NOTE FOR TERMINAL USERS: + +If you are going to use Solarized in Terminal mode (i.e. not in a GUI version +like Cocoa or X11 Emacs), **please please please** consider setting your +terminal emulator's colorscheme to use the Solarized palette. The [Solarized +repository] includes palettes for some popular terminal emulator as well as +Xdefaults; or you can download them from the official [Solarized homepage]. +If you use this emacs color theme *without* having changed your emulator's +palette, you will need to configure Solarized to degrade its colorscheme to +a set compatible with the terminal's default limited 256 color palette +(whereas by using the terminal's 16 ANSI color values, you would +see the correct, specific values for the Solarized palette). + +Again, I recommend just changing your terminal colors to Solarized values +either manually or via one of the many terminal schemes available for import. + +Advanced Configuration +---------------------- + +Solarized will work out of the box with just the instructions specified above +but does include several variables that can be customized. + + variable name default optional + -------------------------------------------- + solarized-termcolors = 16 | 256 + solarized-degrade = nil | t + solarized-bold = t | nil + solarized-underline = t | nil + solarized-italic = t | nil + solarized-contrast = normal| high, low + solarized-visibility = normal| high, low + solarized-broken-srgb= nil | t (see details for Mac behavior) + -------------------------------------------- + +### Option Details + +* solarized-termcolors + + Some 256-color terminals also allow you to set and use the standard 16 + colors in addition to the fixed 256-color palette. This option only + applies when your terminal is in 256-color mode. If set to 16 (the + default) it will try to use the exact Solarized colors (assuming that + you've set these colors to the correct Solarized values either manually or + by importing one of the many colorscheme available for popular + terminal emulators). If it’s set to 256, then Solarized will use a + degraded version of the Solarized palette by displaying the closest colors + in the terminal's default 256 colors as shown in [Xterm's color + chart](http://en.wikipedia.org/wiki/File:Xterm_color_chart.png). + +* solarized-degrade + + For test purposes only; in GUI mode, this forces Solarized to use the 256 + degraded color mode to test the approximate color values for accuracy. + +* solarized-bold | solarized-underline | solarized-italic + + If you wish to stop Solarized from displaying bold, underlined or + italicized typefaces, simply set the appropriate variable to `nil`. + +* solarized-contrast + + Stick with normal! It's been carefully tested. Setting this option to high + or low does use the same Solarized palette but simply shifts some values + up or down in order to expand or compress the tonal range displayed. + +* solarized-visibility + + Special characters such as trailing whitespace, tabs, newlines, when + displayed using `:set list` can be set to one of three levels depending on + your needs. Default value is `normal` with `high` and `low` options. + +* solarized-broken-srgb + + Emacs [bug #8402](http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8402) + results in incorrect color handling on Macs. If you are using Emacs on a + Mac, we try to determine this value automatically. If this is `t` (the + default on Macs), Solarized works around it with alternative colors. + However, these colors are not totally portable, so you may be able to edit + the "Gen RGB" column in `solarized-definitions.el` to improve them further. + +Code Notes +---------- + +I have attempted to modularize the creation of Emacs colorschemes in this script and, while it could be refactored further, it should be a good foundation for the creation of any color scheme. By simply changing the values in the `solarized-colors` table in `solarized-definitions.el` and testing in a GUI Emacs, you can rapidly prototype new colorschemes without diving into the weeds of line-item editing each syntax highlight declaration. + +The Values +---------- + +L\*a\*b values are canonical (White D65, Reference D50), other values are +matched in sRGB space. + + SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB + --------- ------- ---- ------- ----------- ---------- ----------- ----------- + base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 + base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 + base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 + base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 + base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 + base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 + base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 + base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 + yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 + orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 + red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 + magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 + violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 + blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 + cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 + green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 + +### Bug Reporting + +Here are some things to keep in mind when submitting a bug report: + +* include the output of `M-x version` in your report, +* mention whether you’re using color-theme or the Emacs 24 theme, +* include the names of Emacs faces that you have a problem with (`M-: (face-at-point)` and `M-x describe-face` will tell you the name of the face at point), +* include the output of `M-: (display-color-cells)` (that lets us know which set of colors your Emacs is using), +* screenshots are very helpful (before and after if you made a change), +* if you’re using a terminal, the name of the terminal and (if you can find out) the number of colors the terminal app is using, +* also if you’re using a terminal, try running Emacs in GUI mode, and see if the problem exists there (if it does, report the bug that way, if not, just mention that it’s a terminal-only bug), +* it’s very helpful (but not expected) if you can compare it to a similar situation in VIM (especially if you know the VIM highlight name or have a screenshot), and +* `M-x customize-apropos-faces` can help you find all the relevant faces if you are submitting faces for a mode. diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized-pkg.el b/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized-pkg.el new file mode 100644 index 0000000..850550e --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized-pkg.el @@ -0,0 +1 @@ +(define-package "color-theme-solarized" "%%version%%" "Solarized themes for Emacs" '((color-theme "6.5.5"))) diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized.el b/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized.el new file mode 100644 index 0000000..298ae94 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/color-theme-solarized.el @@ -0,0 +1,51 @@ +;;; Author: Ethan Schoonover, Solarized; Greg Pfeil, Emacs adaptation +;;; URL: http://ethanschoonover.com/solarized + +;;; This file is not (YET) part of GNU Emacs. + +;;; # Usage + +;;; 1. Install the color-theme package +;;; (http://www.emacswiki.org/cgi-bin/wiki/ColorTheme) +;;; 2. Load this file +;;; 3. M-x color-theme-solarized + +(let ((current-file-name (or load-file-name buffer-file-name))) + (if current-file-name + (let* ((reqname (concat (file-name-directory current-file-name) + "solarized-definitions.el")) + (compreqname (concat reqname "c"))) + (require 'solarized-definitions + (if (file-exists-p compreqname) compreqname reqname))) + (require 'solarized-definitions))) + +(eval-when-compile + (require 'color-theme)) + +;;;###autoload +(defun color-theme-solarized () + "Color theme by Ethan Schoonover, created 2011-03-24. +Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized." + (interactive) + (color-theme-install + `(color-theme-solarized () () ,@(solarized-color-definitions)))) + +(add-to-list 'color-themes + `(color-theme-solarized + "Solarized" + ,solarized-description)) + +;;;###autoload +(defun color-theme-solarized-dark () + "Color theme by Ethan Schoonover, created 2011-03-24. +Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized." + (declare (obsolete color-theme-solarized "2013-05-01")) + (color-theme-solarized)) +;;;###autoload +(defun color-theme-solarized-light () + "Color theme by Ethan Schoonover, created 2011-03-24. +Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized." + (declare (obsolete color-theme-solarized "2013-05-01")) + (color-theme-solarized)) + +(provide 'color-theme-solarized) diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/ert-tests/dummy-test.el b/home/.emacs.d/themes/emacs-color-theme-solarized/ert-tests/dummy-test.el new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/ert-tests/dummy-test.el diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/makepkg.sh b/home/.emacs.d/themes/emacs-color-theme-solarized/makepkg.sh new file mode 100755 index 0000000..7c13497 --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/makepkg.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +version=$1 + +if [ "$version" = "" ]; then + version=$(date -u '+%Y%m%d') +fi +echo "version = $version" + +dir="color-theme-solarized-${version}" + +mkdir $dir + +cp *.el $dir +sed -i "s/%%version%%/$version/" "$dir/color-theme-solarized-pkg.el" + +tar cf color-theme-solarized-${version}.tar $dir diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-definitions.el b/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-definitions.el new file mode 100644 index 0000000..ea039ff --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-definitions.el @@ -0,0 +1,765 @@ +(eval-when-compile + (unless (require 'cl-lib nil t) + (require 'cl) + (defalias 'cl-case 'case)) + ) + +(defconst solarized-description + "Color theme by Ethan Schoonover, created 2011-03-24. +Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized.") + +(defcustom solarized-termcolors 16 + "This is set to 16 by default, meaning that Solarized will attempt to use the +standard 16 colors of your terminal emulator. You will need to set those colors +to the correct Solarized values either manually or by importing one of the many +colorscheme available for popular terminal emulators and Xdefaults." + :type 'integer + :options '(16 256) + :group 'solarized) + +(defcustom solarized-degrade nil + "For test purposes only; when in GUI mode, forces Solarized to use the 256 +degraded color mode to test the approximate color values for accuracy." + :type 'boolean + :group 'solarized) + +(defcustom solarized-diff-mode 'normal + "Sets the level of highlighting to use in diff-like modes." + :type 'symbol + :options '(high normal low) + :group 'solarized) + +(defcustom solarized-bold t + "Stops Solarized from displaying bold when nil." + :type 'boolean + :group 'solarized) + +(defcustom solarized-underline t + "Stops Solarized from displaying underlines when nil." + :type 'boolean + :group 'solarized) + +(defcustom solarized-italic t + "Stops Solarized from displaying italics when nil." + :type 'boolean + :group 'solarized) + +(defcustom solarized-contrast 'normal + "Stick with normal! It's been carefully tested. Setting this option to high or +low does use the same Solarized palette but simply shifts some values up or +down in order to expand or compress the tonal range displayed." + :type 'symbol + :options '(high normal low) + :group 'solarized) + +(defcustom solarized-broken-srgb + (if (and (eq system-type 'darwin) (eq window-system 'ns)) + (not (and (boundp 'ns-use-srgb-colorspace) + ns-use-srgb-colorspace)) + nil) + "Emacs bug #8402 results in incorrect color handling on Macs. If this is t +\(the default on Macs), Solarized works around it with alternative colors. +However, these colors are not totally portable, so you may be able to edit +the \"Gen RGB\" column in solarized-definitions.el to improve them further." + :type 'boolean + :group 'solarized) + +;; FIXME: The Generic RGB colors will actually vary from device to device, but +;; hopefully these are closer to the intended colors than the sRGB values +;; that Emacs seems to dislike +(defvar solarized-colors ; ANSI(Solarized terminal) + ;; name sRGB Gen RGB 256 16 8 + '((base03 "#002b36" "#042028" "#1c1c1c" "brightblack" "black") + (base02 "#073642" "#0a2832" "#262626" "black" "black") + (base01 "#586e75" "#465a61" "#585858" "brightgreen" "green") + (base00 "#657b83" "#52676f" "#626262" "brightyellow" "yellow") + (base0 "#839496" "#708183" "#808080" "brightblue" "blue") + (base1 "#93a1a1" "#81908f" "#8a8a8a" "brightcyan" "cyan") + (base2 "#eee8d5" "#e9e2cb" "#e4e4e4" "white" "white") + (base3 "#fdf6e3" "#fcf4dc" "#ffffd7" "brightwhite" "white") + (yellow "#b58900" "#a57705" "#af8700" "yellow" "yellow") + (orange "#cb4b16" "#bd3612" "#d75f00" "brightred" "red") + (red "#dc322f" "#c60007" "#d70000" "red" "red") + (magenta "#d33682" "#c61b6e" "#af005f" "magenta" "magenta") + (violet "#6c71c4" "#5859b7" "#5f5faf" "brightmagenta" "magenta") + (blue "#268bd2" "#2075c7" "#0087ff" "blue" "blue") + (cyan "#2aa198" "#259185" "#00afaf" "cyan" "cyan") + (green "#859900" "#728a05" "#5f8700" "green" "green")) + "This is a table of all the colors used by the Solarized color theme. Each + column is a different set, one of which will be chosen based on term + capabilities, etc.") + +(defun solarized-face-for-index (facespec index &optional light) + "Creates a face from facespec where the colors use the names from + `solarized-colors`." + (let ((new-fontspec (copy-sequence facespec))) + (dolist (property '(:foreground :background :color)) + (let ((color-name (plist-get new-fontspec property))) + (when color-name + ;; NOTE: We try to turn an 8-color term into a 10-color term by not + ;; using default background and foreground colors, expecting the + ;; user to have the right colors set for them. + (when (and (= index 5) + (or (and (eq property :background) + (eq color-name 'back)) + (and (eq property :foreground) + (member color-name '(base0 base1))))) + (setf color-name nil)) + (when (eq color-name 'back) + (setf color-name 'base03)) + (when light + (setf color-name + (cl-case color-name + (base03 'base3) + (base02 'base2) + (base01 'base1) + (base00 'base0) + (base0 'base00) + (base1 'base01) + (base2 'base02) + (base3 'base03) + (otherwise color-name)))) + (plist-put new-fontspec + property + (nth index (assoc color-name solarized-colors)))))) + (when (plist-get new-fontspec :box) + (plist-put new-fontspec + :box + (solarized-face-for-index (plist-get new-fontspec :box) index + light))) + new-fontspec)) + +(defun create-face-spec (name facespec) + `(,name ((((background dark) (type graphic)) + ,(solarized-face-for-index facespec + (cond (solarized-degrade 3) + (solarized-broken-srgb 2) + (t 1)))) + (((background dark) (type tty) (min-colors 256)) + ,(solarized-face-for-index facespec + (if (= solarized-termcolors 16) 4 3))) + (((background dark) (type tty) (min-colors 16)) + ,(solarized-face-for-index facespec 4)) + (((background dark) (type tty) (min-colors 8)) + ,(solarized-face-for-index facespec 5)) + (((background light) (type graphic)) + ,(solarized-face-for-index facespec + (cond (solarized-degrade 3) + (solarized-broken-srgb 2) + (t 1)) + t)) + (((background light) (type tty) (min-colors 256)) + ,(solarized-face-for-index facespec + (if (= solarized-termcolors 16) 4 3) + t)) + (((background light) (type tty) (min-colors 16)) + ,(solarized-face-for-index facespec 4 t)) + (((background light) (type tty) (min-colors 8)) + ,(solarized-face-for-index facespec 5 t))))) + +(defun solarized-color-definitions () + (let ((bold (if solarized-bold 'bold 'unspecified)) + (bright-bold (if solarized-bold 'unspecified 'bold)) + (underline (if solarized-underline t 'unspecified)) + (opt-under 'unspecified) + (italic (if solarized-italic 'italic 'unspecified))) + (cond ((eq 'high solarized-contrast) + (let ((orig-base3 base3)) + (rotatef base01 base00 base0 base1 base2 base3) + (setf base3 orig-base3))) + ((eq 'low solarized-contrast) + (setf back base02 + opt-under t))) + (let ((bg-back '(:background back)) + (bg-base03 '(:background base03)) + (bg-base02 '(:background base02)) + (bg-base01 '(:background base01)) + (bg-base00 '(:background base00)) + (bg-base0 '(:background base0)) + (bg-base1 '(:background base1)) + (bg-base2 '(:background base2)) + (bg-base3 '(:background base3)) + (bg-green '(:background green)) + (bg-yellow '(:background yellow)) + (bg-orange '(:background orange)) + (bg-red '(:background red)) + (bg-magenta '(:background magenta)) + (bg-violet '(:background violet)) + (bg-blue '(:background blue)) + (bg-cyan '(:background cyan)) + + (fg-base03 '(:foreground base03)) + (fg-base02 '(:foreground base02)) + (fg-base01 '(:foreground base01)) + (fg-base00 '(:foreground base00)) + (fg-base0 '(:foreground base0)) + (fg-base1 '(:foreground base1)) + (fg-base2 '(:foreground base2)) + (fg-base3 '(:foreground base3)) + (fg-green '(:foreground green)) + (fg-yellow '(:foreground yellow)) + (fg-orange '(:foreground orange)) + (fg-red '(:foreground red)) + (fg-magenta '(:foreground magenta)) + (fg-violet '(:foreground violet)) + (fg-blue '(:foreground blue)) + (fg-cyan '(:foreground cyan)) + + (fmt-none `()) + (fmt-bold `(:weight ,bold)) + (fmt-bldi `(:weight ,bold :slant ,italic)) + (fmt-undr `( :underline ,underline)) + (fmt-undb `(:weight ,bold :underline ,underline)) + (fmt-undi `( :slant ,italic :underline ,underline)) + (fmt-uopt `( :underline ,opt-under)) + ;; FIXME: don’t hardcode the SRGB color names + (fmt-curl-red `( :underline (:color "#dc322f" :style wave))) + (fmt-curl-yellow `( :underline (:color "#b58900" :style wave))) + (fmt-ital `( :slant ,italic)) + ;; FIXME: not quite the same + (fmt-stnd `( :inverse-video t)) + (fmt-revr `( :inverse-video t)) + (fmt-revb `(:weight ,bold :inverse-video t)) + (fmt-revbb `(:weight ,bright-bold :inverse-video t)) + (fmt-revbbu `(:weight ,bright-bold :underline ,underline :inverse-video t))) + (eval-after-load 'ansi-color + '(setf ansi-color-names-vector [,base02 ,red ,green ,yellow ,blue ,magenta ,cyan ,base00])) + (mapcar (lambda (face) (apply 'create-face-spec face)) + `(;; basic + (default (,@fg-base0 ,@bg-back)) ; Normal + (cursor (,@fg-base03 ,@bg-base0)) ; Cursor + (shadow (,@fg-base01)) + (link (,@fmt-undr ,@fg-violet)) ; Underlined + (link-visited (,@fmt-undr ,@fg-magenta)) + (match (,@fmt-revr ,@fg-yellow)) ; Search + (error (,@fmt-revr ,@fg-red)) ; ErrorMsg + (warning (,@fmt-bold ,@fg-red)) ; WarningMsg + (success (,@fg-blue)) ; MoreMsg + (escape-glyph-face (,@fg-red)) + (fringe (,@fg-base01 ,@bg-base02)) + (linum (,@fg-base01 ,@bg-base02)) + (header-line (,@fg-base0 ,@bg-base02 ,@fmt-revbb)) ; Pmenu + (highlight (,@bg-base02)) + (hl-line (:underline ,opt-under ,@bg-base02)) ; CursorLine + (isearch (,@fmt-stnd ,@fg-orange ,@bg-back)) ; IncSearch + (isearch-fail (:inherit error)) ; ErrorMsg + (lazy-highlight (:inherit match)) ; Search + (menu (,@fg-base0 ,@bg-base02)) + (minibuffer-prompt (,@fmt-bold ,@fg-cyan)) ; Question + (mode-line ; StatusLine + (,@fg-base1 ,@bg-base02 ,@fmt-revbb :box nil)) + (mode-line-inactive ; StatusLineNC + (,@fg-base00 ,@bg-base02 ,@fmt-revbb :box nil)) + (region (,@fg-base01 ,@bg-base03 ,@fmt-revbb)) ; Visual + (secondary-selection (,@bg-base02)) + (shadow (,@fg-base01)) + (trailing-whitespace (,@fmt-revr ,@fg-red)) + (vertical-border (,@fg-base0)) + ;; comint + (comint-highlight-prompt (,@fg-blue)) + ;; compilation + (compilation-info (,@fmt-bold ,@fg-green)) + (compilation-warning (,@fmt-bold ,@fg-orange)) + ;; custom + (custom-button + (,@fg-base1 ,@bg-base02 :box (:line-width 2 :style released-button))) + (custom-button-mouse + (,@fmt-revr ,@fg-base1 ,@bg-base02 :inherit custom-button)) + (custom-button-pressed + (,@fmt-revr ,@fg-base1 ,@bg-base02 + :box (:line-width 2 :style pressed-button) + :inherit custom-button-mouse)) + (custom-changed (,@fmt-revr ,@fg-blue ,@bg-base3)) + (custom-comment (,@fg-base1 ,@bg-base02)) + (custom-comment-tag (,@fg-base1 ,@bg-base02)) + (custom-documentation (:inherit default)) + (custom-group-tag (,@fg-base1)) + (custom-group-tag-1 (,@fmt-bold ,@fg-base1)) + (custom-invalid (,@fmt-revr ,@fg-red ,@bg-back)) + (custom-link (,@fg-violet)) + (custom-state (,@fg-green)) + (custom-variable-tag (,@fg-base1)) + ;; diff - DiffAdd, DiffChange, DiffDelete, and DiffText + ,@(cl-case solarized-diff-mode + (high + `((diff-added (,@fmt-revr ,@fg-green)) + (diff-changed (,@fmt-revr ,@fg-yellow)) + (diff-removed (,@fmt-revr ,@fg-red)) + (diff-refine-change + (,@fmt-revr ,@fg-blue ,@bg-back)))) + (low + `((diff-added (,@fmt-undr ,@fg-green)) + (diff-changed (,@fmt-undr ,@fg-yellow)) + (diff-removed (,@fmt-bold ,@fg-red)) + (diff-refine-change (,@fmt-undr ,@fg-blue ,@bg-back)))) + (normal + (if window-system + `((diff-added (,@fmt-bold ,@fg-green ,@bg-base02)) + (diff-changed (,@fmt-bold ,@fg-yellow ,@bg-base02)) + (diff-removed (,@fmt-bold ,@fg-red ,@bg-base02)) + (diff-refine-change (,@fmt-bold ,@fg-blue ,@bg-base02))) + `((diff-added (,@fg-green ,@bg-base02)) + (diff-changed (,@fg-yellow ,@bg-base02)) + (diff-removed (,@fg-red ,@bg-base02)) + (diff-refine-change (,@fg-blue ,@bg-base02)))))) + (diff-file-header (,@bg-back)) + (diff-header (,@fg-base1 ,@bg-back)) + ;; IDO + (ido-only-match (,@fg-green)) + (ido-subdir (,@fg-blue)) + (ido-first-match (,@fmt-bold ,@fg-green)) + ;; emacs-wiki + (emacs-wiki-bad-link-face (,@fmt-undr ,@fg-red)) + (emacs-wiki-link-face (,@fmt-undr ,@fg-blue)) + (emacs-wiki-verbatim-face (,@fmt-undr ,@fg-base00)) + ;; eshell + (eshell-ls-archive (,@fg-magenta)) + (eshell-ls-backup (,@fg-yellow)) + (eshell-ls-clutter (,@fg-orange)) + (eshell-ls-directory (,@fg-blue)) ; Directory + (eshell-ls-executable (,@fg-green)) + (eshell-ls-missing (,@fg-red)) + (eshell-ls-product (,@fg-yellow)) + (eshell-ls-readonly (,@fg-base1)) + (eshell-ls-special (,@fg-violet)) + (eshell-ls-symlink (,@fg-cyan)) + (eshell-ls-unreadable (,@fg-base00)) + (eshell-prompt (,@fmt-bold ,@fg-green)) + ;; font-lock + (font-lock-builtin-face (,@fmt-none ,@fg-green)) ; Statement + (font-lock-comment-face (,@fmt-ital ,@fg-base01)) ; Comment + (font-lock-constant-face (,@fmt-none ,@fg-cyan)) ; Constant + (font-lock-function-name-face ; Identifier + (,@fmt-none ,@fg-blue)) + (font-lock-keyword-face (,@fmt-none ,@fg-green)) ; Statement + (font-lock-string-face (,@fmt-none ,@fg-cyan)) ; Constant + (font-lock-type-face (,@fmt-none ,@fg-yellow)) ; Type + (font-lock-variable-name-face ; Identifier + (,@fmt-none ,@fg-blue)) + (font-lock-warning-face (,@fmt-bold ,@fg-red)) ; Error + (font-lock-doc-face (,@fmt-ital ,@fg-base01)) ; Comment + (font-lock-doc-string-face ; Comment (XEmacs-only) + (,@fmt-ital ,@fg-base01)) + (font-lock-color-constant-face (,@fmt-none ,@fg-green)) + (font-lock-comment-delimiter-face ; Comment + (,@fmt-ital ,@fg-base01)) + (font-lock-preprocessor-face (,@fmt-none ,@fg-orange)) ; PreProc + (font-lock-reference-face (,@fmt-none ,@fg-cyan)) + (font-lock-negation-char-face (,@fmt-none ,@fg-red)) + (font-lock-other-type-face (,@fmt-ital ,@fg-blue)) + (font-lock-regexp-grouping-construct (,@fmt-none ,@fg-orange)) + (font-lock-special-keyword-face (,@fmt-none ,@fg-red)) ; Special + (font-lock-exit-face (,@fmt-none ,@fg-red)) + (font-lock-other-emphasized-face (,@fmt-bldi ,@fg-violet)) + (font-lock-regexp-grouping-backslash (,@fmt-none ,@fg-yellow)) + ;; info + (info-xref (:inherit link)) + (info-xref-visited (:inherit link-visited)) + ;; org + (org-block-background (,@bg-base02)) + (org-hide (,@fg-base03)) + (org-todo (,@fmt-bold ,@fg-base03 ,@bg-red)) + (org-done (,@fmt-bold ,@fg-green)) + (org-todo-kwd-face (,@fmt-bold ,@fg-base03 ,@bg-red)) + (org-done-kwd-face (,@fmt-bold ,@fg-green)) + (org-project-kwd-face (,@fg-violet ,@bg-base03)) + (org-waiting-kwd-face (,@fg-orange ,@bg-base03)) + (org-someday-kwd-face (,@fg-blue ,@bg-base03)) + (org-started-kwd-face (,@fg-yellow ,@bg-base03)) + (org-cancelled-kwd-face (,@fg-green ,@bg-base03)) + (org-delegated-kwd-face (,@fg-cyan ,@bg-base03)) + (org-default (:inherit default)) + (org-level-1 (:inherit outline-1)) + (org-level-2 (:inherit outline-2)) + (org-level-3 (:inherit outline-3)) + (org-level-4 (:inherit outline-4)) + (org-level-5 (:inherit outline-5)) + (org-level-6 (:inherit outline-6)) + (org-level-7 (:inherit outline-7)) + (org-level-8 (:inherit outline-8)) + (org-special-keyword (,@fmt-ital ,@fg-base01)) + (org-drawer (,@fmt-bold ,@fg-blue)) + (org-column (,@fmt-revr ,@fg-cyan)) + (org-column-title (,@fmt-bold ,@fmt-revr)) + (org-warning (,@fmt-bold ,@fg-red)) + (org-archived (,@fg-base01)) + (org-link (,@fmt-undr ,@fg-violet)) + (org-footnote (,@fmt-undr ,@fg-violet)) + (org-ellipses (,@fg-yellow :strike-through t) ) + (org-target (,@fmt-undr)) + (org-date (,@fmt-undr ,@fg-violet)) + (org-date-selected (,@fmt-revr ,@fg-red)) + (org-sexp-date (,@fmt-undr ,@fg-violet)) + (org-tag (,@fmt-bold)) + (org-list-dt (,@fmt-bold)) + (org-agenda-done (,@fg-green)) + (org-headline-done (,@fg-base01)) + (org-priority (,@fmt-ital ,@fg-base01)) + (org-checkbox (,@fmt-bold)) + (org-table (,@fg-cyan)) + (org-formula (:weight bold :slant italic ,@fg-red)) + (org-code (,@fg-base01)) + (org-document-title (,@fmt-bold ,@fg-cyan)) + (org-document-info-keyword (,@fg-base01)) + (org-block (,@fg-base01)) + (org-verbatim (,@fmt-undr ,@fg-base01)) + (org-clock-overlay (,@fmt-revr ,@bg-cyan ,@fg-base03)) + (org-agenda-structure (,@fmt-bold ,@fg-blue)) + (org-scheduled (:weight bold :slant italic ,@fg-green)) + (org-scheduled-today (:weight bold :slant italic ,@fg-green)) + (org-agenda-dimmed-todo-face (,@fg-base00)) + (org-scheduled-previously (,@fmt-bold ,@fg-red)) + (org-upcoming-deadline (,@fmt-bold ,@fg-red)) + (org-agenda-restriction-lock (,@fmt-revr ,@fg-base03 ,@bg-cyan)) + (org-time-grid (,@fg-yellow)) + (org-latex-and-related(,@fg-orange)) + ;; table + (table-cell (,@fmt-none ,@fg-base0 ,@bg-back)) + ;; outline - pandocBlockQuoteLeader[1–6] + (outline-1 (,@fg-blue)) + (outline-2 (,@fg-cyan)) + (outline-3 (,@fg-yellow)) + (outline-4 (,@fg-red)) + (outline-5 (,@fg-base0)) + (outline-6 (,@fg-base01)) + (outline-7 (,@fg-orange)) + (outline-8 (,@fg-violet)) + ;; show-paren - MatchParen + (show-paren-match (,@fmt-bold ,@fg-cyan ,@bg-base02)) + (show-paren-mismatch (,@fmt-bold ,@fg-red ,@bg-base01)) + ;; speedbar + ;; (speedbar-button-face (,@fmt-none ,@fg-base1)) + (speedbar-button-face + (,@fg-base1 ,@bg-base02 + :box (:line-width 2 :style released-button))) + (speedbar-directory-face (,@fmt-none ,@fg-blue)) + (speedbar-file-face (,@fmt-none ,@fg-green)) + ;; (speedbar-highlight-face (,@bg-base02)) + (speedbar-highlight-face + (,@fmt-revr ,@fg-base1 ,@bg-base02 + :inherit speedbar-button-face)) + ;; (speedbar-selected-face (,@fmt-undr ,@fg-yellow)) + (speedbar-selected-face (,@fmt-none ,@bg-base02 ,@fg-green)) + (speedbar-separator-face (,@fmt-stnd)) + (speedbar-tag-face (,@fmt-none ,@fg-blue)) + ;; widgets + (widget-field + (,@fg-base1 ,@bg-base02 :box (:line-width 1 :color base2) + :inherit default)) + (widget-single-line-field (:inherit widget-field)) + ;; extra modules + ;; ------------- + ;; alert + (alert-urgent (,@fg-red)) + (alert-high (,@fg-orange)) + (alert-moderate (,@fg-yellow)) + (alert-normal (,@fg-green)) + (alert-low (,@fg-blue)) + (alert-trivial (,@fg-violet)) + ;; col-highlight -- Highlight the current column. + ;; http://www.emacswiki.org/emacs/col-highlight.el + (col-highlight (,@bg-base02)) + ;; ace-jump-mode + (ace-jump-face-background (,@fmt-none ,@fg-base01)) + (ace-jump-face-foreground (,@fmt-bold ,@fg-red)) + ;; bm visual bookmarks + (bm-fringe-face (,@bg-orange ,@fg-base03)) + (bm-fringe-persistent-face (,@bg-blue ,@fg-base03)) + ;; Flymake + (flymake-errline (,@fmt-bold ,@fg-red)) ; Error + (flymake-warnline (,@fmt-bold ,@fg-red)) + ;; column-marker + (column-marker-1 (,@bg-base01)) + (column-marker-2 (,@bg-cyan)) + (column-marker-3 (,@bg-violet)) + ;; jabber + (jabber-activity-face (,@fmt-bold ,@fg-red)) + (jabber-activity-personal-face (,@fmt-bold ,@fg-blue)) + (jabber-chat-error (,@fmt-bold ,@fg-red)) + (jabber-chat-prompt-foreign (,@fmt-bold ,@fg-red)) + (jabber-chat-prompt-local (,@fmt-bold ,@fg-blue)) + (jabber-chat-prompt-system (,@fmt-bold ,@fg-green)) + (jabber-chat-text-foreign (,@fg-base1)) + (jabber-chat-text-local (,@fg-base0)) + (jabber-chat-rare-time-face (,@fmt-undr ,@fg-green)) + (jabber-roster-user-away (,@fmt-ital ,@fg-green)) + (jabber-roster-user-chatty (,@fmt-bold ,@fg-orange)) + (jabber-roster-user-dnd (,@fmt-ital ,@fg-red)) + (jabber-roster-user-error + (:weight light :slant italic ,@fg-red)) + (jabber-roster-user-offline (,@fg-base01)) + (jabber-roster-user-online (,@fmt-bold ,@fg-blue)) + (jabber-roster-user-xa (,@fmt-ital ,@fg-magenta)) + ;; git-gutter + (git-gutter:modified (,@fg-violet)) + (git-gutter:added (,@fg-green)) + (git-gutter:deleted (,@fg-red)) + ;; gnus - these are mostly taken from mutt, not VIM + (gnus-cite-1 (:inherit outline-1)) + (gnus-cite-2 (:inherit outline-2)) + (gnus-cite-3 (:inherit outline-3)) + (gnus-cite-4 (:inherit outline-4)) + (gnus-cite-5 (:inherit outline-5)) + (gnus-cite-6 (:inherit outline-6)) + (gnus-cite-7 (:inherit outline-7)) + (gnus-cite-8 (:inherit outline-8)) + (gnus-cite-9 (,@fg-green)) + (gnus-cite-10 (,@fg-magenta)) + (gnus-cite-11 (,@fg-base02)) + (gnus-group-mail-1 (,@fmt-bold ,@fg-base3)) + (gnus-group-mail-1-empty (,@fg-base3)) + (gnus-group-mail-2 (,@fmt-bold ,@fg-base2)) + (gnus-group-mail-2-empty (,@fg-base2)) + (gnus-group-mail-3 (,@fmt-bold ,@fg-magenta)) + (gnus-group-mail-3-empty (,@fg-magenta)) + (gnus-group-mail-low (,@fmt-bold ,@fg-base00)) + (gnus-group-mail-low-empty (,@fg-base00)) + (gnus-group-news-1 (,@fmt-bold ,@fg-base1)) + (gnus-group-news-1-empty (,@fg-base1)) + (gnus-group-news-2 (,@fmt-bold ,@fg-blue)) + (gnus-group-news-2-empty (,@fg-blue)) + (gnus-group-news-low (,@fmt-bold ,@fg-violet)) + (gnus-group-news-low-empty (,@fg-violet)) + (gnus-emphasis-highlight-words ; highlight + (,@fmt-none ,fg-yellow)) + (gnus-header-content (,@fmt-none ,@fg-base01)) ; hdrdefault + (gnus-header-from (,@fmt-none ,@fg-base00)) ; header ^From + (gnus-header-name (,@fmt-none ,@fg-base01)) ; hdrdefault + (gnus-header-newsgroups (,@fmt-none ,@fg-base02)) ; hdrdefault + (gnus-header-subject (,@fmt-none ,@fg-blue)) ; header ^Subject + (gnus-server-agent (,@fmt-bold ,@fg-base3)) + (gnus-server-closed (,@fmt-ital ,@fg-base1)) + (gnus-server-denied (,@fmt-bold ,@fg-base2)) + (gnus-server-offline (,@fmt-bold ,@fg-green)) + (gnus-server-opened (,@fmt-bold ,@fg-cyan)) + (gnus-signature (,@fmt-none ,@fg-base01)) ; signature + (gnus-splash (,@fg-base2)) + (gnus-summary-cancelled ; deleted messages + (,@fmt-none ,@fg-red)) + (gnus-summary-high-ancient + (,@fmt-bold :inherit gnus-summary-normal-ancient)) + (gnus-summary-high-read + (,@fmt-bold :inherit gnus-summary-normal-read)) + (gnus-summary-high-ticked + (,@fmt-bold :inherit gnus-summary-normal-ticked)) + (gnus-summary-high-undownloaded + (,@fmt-bold :inherit gnus-summary-normal-undownloaded)) + (gnus-summary-high-unread + (,@fmt-bold :inherit gnus-summary-normal-unread)) + (gnus-summary-low-ancient + (,@fmt-ital :inherit gnus-summary-normal-ancient)) + (gnus-summary-low-read + (,@fmt-ital :inherit gnus-summary-normal-ancient)) + (gnus-summary-low-unread + (,@fmt-ital :inherit gnus-summary-normal-unread)) + (gnus-summary-low-ticked + (,@fmt-ital :inherit gnus-summary-normal-ancient)) + (gnus-summary-low-undownloaded + (,@fmt-ital :inherit gnus-summary-normal-ancient)) + (gnus-summary-normal-ancient ; old messages + (,@fmt-none ,@fg-blue)) + (gnus-summary-normal-read ; read messages + (,@fmt-none ,@fg-base01)) + (gnus-summary-normal-ticked (,@fmt-none ,@fg-red)) ; flagged + (gnus-summary-normal-undownloaded (,@fmt-none ,@fg-base2)) + (gnus-summary-normal-unread ; unread messages + (,@fmt-none ,@fg-blue)) + (gnus-summary-selected ; indicator + (,@fmt-none ,@fg-base03 ,@bg-yellow)) + ;;helm + (helm-apt-deinstalled (,@fg-base01)) + (helm-apt-installed (,@fg-green)) + (helm-bookmark-addressbook (,@fg-blue)) + (helm-bookmark-directory (:inherit helm-ff-directory)) + (helm-bookmark-file (:inherit helm-ff-file)) + (helm-bookmark-gnus (,@fg-cyan)) + (helm-bookmark-info (,@fg-green)) + (helm-bookmark-man (,@fg-violet)) + (helm-bookmark-w3m (,@fg-yellow)) + (helm-bookmarks-su (,@fg-orange)) + (helm-buffer-not-saved (,@fg-orange)) + (helm-buffer-process (,@fg-magenta)) + (helm-buffer-saved-out (,@fmt-revr ,@fg-red ,@bg-back)) + (helm-buffer-size (,@fg-base01)) + (helm-candidate-number (,@fmt-bold ,@bg-base02 ,@fg-base1)) + (helm-emms-playlist (,@fmt-none ,@fg-base01)) + (helm-etags+-highlight-face (:inherit highlight)) + (helm-ff-directory (,@bg-back ,@fg-blue)) + (helm-ff-executable (,@fmt-bold ,@fg-green)) + (helm-ff-file (:inherit default)) + (helm-ff-invalid-symlink (,@bg-base02 ,@fg-red)) + (helm-ff-prefix (,@fmt-revr ,@fg-yellow)) + (helm-ff-symlink (,@fmt-bold ,@fg-cyan)) + (helm-gentoo-match (:inherit helm-match)) + (helm-grep-cmd-line (:inherit diff-added)) + (helm-grep-file (,@fmt-undr ,@fg-cyan)) + (helm-grep-finish (,@fg-green)) + (helm-grep-lineno (,@fg-orange)) + (helm-grep-match (:inherit helm-match)) + (helm-grep-running (,@fg-red)) + (helm-helper (:inherit helm-header)) + (helm-history-deleted (:inherit helm-ff-invalid-symlink)) + (helm-history-remote (,@fg-red)) + (helm-lisp-completion-info (,@fg-base0)) + (helm-lisp-show-completion (,@fmt-bold ,@fg-yellow ,@bg-base02)) + (helm-ls-git-added-copied-face (,@fg-green)) + (helm-ls-git-conflict-face (,@fmt-bold ,@fg-red)) + (helm-ls-git-deleted-and-staged-face (,@fmt-ital ,@fg-base01)) + (helm-ls-git-deleted-not-staged-face (,@fmt-bold ,@fg-green)) + (helm-ls-git-modified-and-staged-face (,@fmt-ital ,@fg-base01)) + (helm-ls-git-modified-not-staged-face (,@fmt-ital ,@fg-base01)) + (helm-ls-git-renamed-modified-face (,@fg-green)) + (helm-ls-git-untracked-face (,@fg-red)) + (helm-M-x-key (,@fmt-none ,@fg-orange)) + (helm-match (:inherit match)) + (helm-moccur-buffer (,@fmt-undr ,@fg-cyan)) + (helm-selection (:inherit region)) + (helm-selection-line (:inherit secondary-selection)) + (helm-separator (,@fg-red)) + (helm-source-header (:inherit helm-header)) + (helm-time-zone-current (,@fg-green)) + (helm-time-zone-home (,@fg-red)) + (helm-visible-mark (,@fmt-bold ,@bg-back ,@fg-magenta)) + (helm-w3m-bookmarks (:inherit helm-bookmark-w3m)) + ;; markdown + (markdown-bold-face (:inherit bold)) + (markdown-header-delimiter-face (:inherit shadow)) + (markdown-header-face (:inherit outline-1)) + (markdown-header-face-1 (:inherit outline-1)) + (markdown-header-face-2 (:inherit outline-2)) + (markdown-header-face-3 (:inherit outline-3)) + (markdown-header-face-4 (:inherit outline-4)) + (markdown-header-face-5 (:inherit outline-5)) + (markdown-header-face-6 (:inherit outline-6)) + (markdown-header-rule-face (:inherit shadow)) + (markdown-italic-face (:inherit italic)) + (markdown-link-face (:inherit shadow)) + (markdown-link-title-face (:inherit link)) + (markdown-url-face (:inherit link)) + ;; Message + (message-mml (,@fg-blue)) + (message-cited-text (,@fg-base2)) + (message-separator (,@fg-base3)) + (message-header-xheader (,@fg-violet)) + (message-header-name (,@fg-cyan)) + (message-header-other (,@fg-red)) + (message-header-newsgroups (,@fmt-bldi ,@fg-yellow)) + (message-header-subject (,@fg-base00)) + (message-header-cc (,@fmt-bold ,@fg-green)) + (message-header-to (,@fmt-bold ,@fg-base1)) + ;; minimap + (minimap-active-region-background (,@bg-base02)) + (minimap-semantic-function-face (,bg-base3)) + (minimap-semantic-type-face (,bg-base3)) + (minimap-semantic-variable-face (,bg-base3)) + ;; parenface + (parenface-bracket-face (:inherit shadow)) + (parenface-curly-face (:inherit shadow)) + (parenface-paren-face (:inherit shadow)) + ;; paren-face + (parenthesis (:inherit shadow)) + ;; rainbow-delimiters + (rainbow-delimiters-depth-1-face (:inherit outline-1)) + (rainbow-delimiters-depth-2-face (:inherit outline-2)) + (rainbow-delimiters-depth-3-face (:inherit outline-3)) + (rainbow-delimiters-depth-4-face (:inherit outline-4)) + (rainbow-delimiters-depth-5-face (:inherit outline-5)) + (rainbow-delimiters-depth-6-face (:inherit outline-6)) + (rainbow-delimiters-depth-7-face (:inherit outline-7)) + (rainbow-delimiters-depth-8-face (:inherit outline-8)) + (rainbow-delimiters-depth-9-face (,@fg-green)) + ;; powerline + (powerline-active1 (,@fg-base00 :inherit mode-line)) + (powerline-active2 (,@fg-base0 :inherit mode-line)) + (powerline-inactive1 (,@fg-base02 ,@bg-base1 :inherit mode-line-inactive)) + (powerline-inactive2 (,@fg-base01 :inherit mode-line-inactive)) + ;; slime + (slime-error-face (,@fmt-revr ,@fg-red)) ; ErrorMsg + (slime-note-face (,@fg-yellow)) + (slime-repl-inputted-output-face (,@fg-red)) + (slime-repl-output-mouseover-face (:box (:color base3))) + (slime-style-warning-face (,@fmt-bold ,@fg-orange)) + (slime-warning-face (,@fmt-bold ,@fg-red)) ; WarningMsg + ;; smartparens + (sp-pair-overlay-face (,@bg-base02)) + (sp-wrap-overlay-face (,@bg-base02)) + (sp-wrap-tag-overlay-face (,@bg-base02)) + (sp-show-pair-match-face (,@fg-magenta ,@bg-back)) + (sp-show-pair-mismatch-face (,@bg-red ,@fg-base02)) + ;; whitespace + (whitespace-empty (,@fg-red)) + (whitespace-hspace (,@fg-orange)) + (whitespace-indentation (,@fg-base02)) + (whitespace-space (,@fg-base02)) + (whitespace-space-after-tab (,@fg-cyan)) + (whitespace-space-before-tab (,@fmt-bold ,@fg-red)) + (whitespace-tab (,@fg-base02)) + (whitespace-trailing (,@fmt-bold ,@fg-red ,@bg-base02)) + (whitespace-highlight-face (,@fg-red ,@bg-blue)) + (whitespace-line (,@fg-magenta)) + ;; rcirc + (rcirc-my-nick (,@fg-blue)) + (rcirc-nick-in-message (,@fg-orange)) + (rcirc-other-nick (,@fg-green)) + (rcirc-prompt (,@fg-yellow)) + (rcirc-bright-nick (,@fg-magenta)) + (rcirc-server (,@fg-base1)) + (rcirc-timestamp (,@fg-base01)) + ;;font-latex + (font-latex-warning-face (,@fg-red)) + (font-latex-sectioning-5-face (,@fg-violet)) + ;;flyspell + (flyspell-incorrect (,@fmt-curl-red)) ; SpellBad + (flyspell-duplicate (,@fmt-curl-yellow)) + ;; rst-mode + (rst-level-1 (:inherit outline-1)) + (rst-level-2 (:inherit outline-2)) + (rst-level-3 (:inherit outline-3)) + (rst-level-4 (:inherit outline-4)) + (rst-level-5 (:inherit outline-5)) + (rst-level-6 (:inherit outline-6)) + ;;ansi-term + (term-color-black (,@fg-base02)) + (term-color-red (,@fg-red)) + (term-color-green (,@fg-green)) + (term-color-yellow (,@fg-yellow)) + (term-color-blue (,@fg-blue)) + (term-color-magenta (,@fg-magenta)) + (term-color-cyan (,@fg-cyan)) + (term-color-white (,@fg-base00)) + ;; company + (company-tooltip (,@fg-base00 ,@bg-base02)) + (company-tooltip-selection (,@fg-base1 ,@bg-base02)) + (company-tooltip-mouse (,@fg-base1 ,@bg-base02)) + (company-tooltip-common (,@fg-blue ,@bg-base02)) + (company-tooltip-common-selection (,@fg-blue ,@bg-base01)) + (company-tooltip-annotation (,@fg-yellow ,@bg-base02)) + (company-scrollbar-fg (,@bg-base0)) + (company-scrollbar-bg (,@bg-base02)) + (company-preview (,@bg-green)) + (company-preview-common (,@bg-base02)) + (company-template-field (,@fg-base03 ,@bg-yellow)) + ;; hydra + (hydra-face-red (,@fmt-bold ,@fg-red)) + (hydra-face-blue (,@fmt-bold ,@fg-blue)) + (hydra-face-amaranth (,@fmt-bold ,@fg-orange)) + (hydra-face-pink (,@fmt-bold ,@fg-magenta)) + (hydra-face-teal (,@fmt-bold ,@fg-cyan)) + ;; guide-key + (guide-key/prefix-command-face (,@fg-blue)) + (guide-key/highlight-command-face (,@fg-orange)) + (guide-key/key-face (,@fg-green))))))) + +;;;###autoload +(when (boundp 'custom-theme-load-path) + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(defmacro create-solarized-theme (name description color-definitions) + `(progn + (deftheme ,name ,description) + (apply 'custom-theme-set-faces + ',name ,color-definitions) + (provide-theme ',name))) + +(provide 'solarized-definitions) diff --git a/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-theme.el b/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-theme.el new file mode 100644 index 0000000..729011e --- /dev/null +++ b/home/.emacs.d/themes/emacs-color-theme-solarized/solarized-theme.el @@ -0,0 +1,6 @@ +(require 'solarized-definitions + (locate-file "solarized-definitions.el" custom-theme-load-path + '("c" ""))) + +(create-solarized-theme solarized + solarized-description (solarized-color-definitions)) |