Repository: altercation/solarized Branch: master Commit: 62f656a02f93 Files: 163 Total size: 676.8 KB Directory structure: gitextract_yngv_1o9/ ├── .gitmodules ├── CHANGELOG.mkd ├── DEVELOPERS.mkd ├── LICENSE ├── README.md ├── adobe-swatches-solarized/ │ ├── README.md │ ├── solarized.act │ └── solarized.ase ├── apple-colorpalette-solarized/ │ ├── README.md │ ├── alternate palettes/ │ │ ├── README.md │ │ ├── Solarized tagged.clr │ │ └── Solarized untagged.clr │ ├── launch-colorpicker.app/ │ │ └── Contents/ │ │ ├── Info.plist │ │ ├── MacOS/ │ │ │ └── applet │ │ ├── PkgInfo │ │ └── Resources/ │ │ ├── Scripts/ │ │ │ └── main.scpt │ │ ├── applet.icns │ │ ├── applet.rsrc │ │ └── description.rtfd/ │ │ └── TXT.rtf │ └── solarized.clr ├── emacs-colors-solarized/ │ ├── LICENSE │ ├── README.md │ └── color-theme-solarized.el ├── files/ │ └── README.md ├── gedit/ │ ├── README.md │ ├── installer │ ├── solarized-dark.xml │ └── solarized-light.xml ├── gimp-palette-solarized/ │ ├── README.md │ └── solarized.gpl ├── img/ │ ├── andalemono14/ │ │ └── index.html │ ├── dejavusans14/ │ │ └── index.html │ ├── dejavusans18/ │ │ └── index.html │ ├── lettergothic14/ │ │ └── index.html │ ├── lettergothic18/ │ │ └── index.html │ ├── monaco14/ │ │ └── index.html │ ├── skyhookmono14/ │ │ └── index.html │ ├── solarized images build.psd │ ├── terminus12/ │ │ └── index.html │ └── terminus20/ │ └── index.html ├── intellij-colors-solarized/ │ ├── README.md │ ├── Solarized Dark.xml │ ├── Solarized Light.xml │ ├── buildjar.sh │ └── settings.jar ├── iterm2-colors-solarized/ │ ├── README.md │ ├── Solarized Dark.itermcolors │ └── Solarized Light.itermcolors ├── mutt-colors-solarized/ │ ├── README.md │ ├── mutt-colors-solarized-dark-16.muttrc │ ├── mutt-colors-solarized-dark-256.muttrc │ ├── mutt-colors-solarized-light-16.muttrc │ ├── mutt-colors-solarized-light-256.muttrc │ ├── mutt-colors-solarized-template.muttrc │ └── mutt-compile-colors.sh ├── netbeans-colors-solarized/ │ ├── README.md │ └── config/ │ ├── .nbattrs │ └── Editors/ │ ├── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ ├── org-netbeans-modules-editor-settings-CustomFontsColors-highlights.xml │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── application/ │ │ └── xml-dtd/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ └── text/ │ ├── html/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── javascript/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── plain/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-css/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-diff/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-ini/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-javascript-comment/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-javascript-string/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-json/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-php5/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-properties/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-sql/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── x-yaml/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── xhtml/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ ├── xml/ │ │ └── FontsColors/ │ │ └── Netbeans_Solarized_Dark/ │ │ ├── .nbattrs │ │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml │ └── xml-external-parsed-entity/ │ └── FontsColors/ │ └── Netbeans_Solarized_Dark/ │ ├── .nbattrs │ └── org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml ├── osx-terminal.app-colors-solarized/ │ ├── README.md │ ├── Solarized Dark ansi.terminal │ ├── Solarized Light ansi.terminal │ └── xterm-256color/ │ ├── README.md │ ├── Solarized Dark xterm-256color.terminal │ └── Solarized Light xterm-256color.terminal ├── putty-colors-solarized/ │ ├── README.mkd │ ├── solarized_dark.reg │ ├── solarized_dark_puttytray.txt │ ├── solarized_light.reg │ └── solarized_light_puttytray.txt ├── qtcreator/ │ ├── README.md │ ├── generate-styles.pl │ ├── qtcreator-template.xml │ ├── solarized-dark.xml │ └── solarized-light.xml ├── seestyle-colors-solarized/ │ ├── README.md │ └── Solarized.seestyle ├── textmate-colors-solarized/ │ ├── README.mkd │ ├── Solarized (dark).tmTheme │ └── Solarized (light).tmTheme ├── textwrangler-bbedit-colors-solarized/ │ ├── README.mkd │ ├── Solarized Dark.bbcolors │ ├── Solarized Light.bbcolors │ └── bbcolors ├── tmux/ │ ├── README.md │ ├── tmuxcolors-256.conf │ ├── tmuxcolors-dark.conf │ └── tmuxcolors-light.conf ├── utils/ │ ├── README.md │ ├── package.sh │ ├── pandoc2readme │ ├── subtrees.mkd │ ├── tests/ │ │ ├── c.c │ │ ├── haskell.hs │ │ ├── html.html │ │ ├── java.java │ │ ├── javascript.js │ │ ├── pandoc.md │ │ ├── perl.pl │ │ ├── php.php │ │ ├── python.py │ │ ├── ruby.rb │ │ ├── shell.sh │ │ └── tex.tex │ ├── vimorg-text │ └── vimscreenshots.applescript ├── vim-colors-solarized/ │ ├── README.mkd │ ├── autoload/ │ │ └── togglebg.vim │ ├── colors/ │ │ └── solarized.vim │ └── doc/ │ ├── solarized.txt │ └── tags ├── visualstudio-colors-solarized/ │ ├── vs2005/ │ │ ├── solarized-dark.vssettings │ │ └── solarized-light.vssettings │ ├── vs2008/ │ │ ├── solarized-dark.vssettings │ │ └── solarized-light.vssettings │ └── vs2010/ │ ├── solarized-dark.vssettings │ └── solarized-light.vssettings ├── xchat/ │ ├── README.md │ ├── pevents.conf │ ├── solarized-dark-colors.conf │ └── solarized-light-colors.conf ├── xfce4-terminal/ │ ├── LICENSE │ ├── README.md │ ├── dark/ │ │ └── terminalrc │ └── light/ │ └── terminalrc └── xresources/ ├── LICENSE ├── README.md └── solarized ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitmodules ================================================ ================================================ FILE: CHANGELOG.mkd ================================================ Solarized Changelog =================== ## Current release 1.0.0beta2 1.0.0beta2 ---------- ### Summary Switch to the alternative red hue (final and only hue change), included a whole heap of new ports and updates to the existing Vim colorscheme. The list of all currently included ports, highlighted items are new, updates noted: #### Editors & IDEs * \[UPDATED\] **Vim** * \[NEW\] ***Emacs*** * \[NEW\] ***IntelliJ IDEA*** * \[NEW\] ***NetBeans*** * \[NEW\] ***SeeStyle theme for Coda & SubEthaEdit*** * \[NEW\] ***TextMate*** * \[NEW\] ***Visual Studio*** #### Terminal Emulators * \[UPDATED\] **iTerm2 colorschemes** * \[UPDATED\] **OS X Terminal.app colors** * \[UPDATED\] **Xresources colors** #### Other Applications * \[UPDATED\] **Mutt mail client colorschemes** #### Palettes * \[UPDATED\] **Adobe Photoshop Swatches** * \[UPDATED\] **Apple Color Picker Palette** * \[UPDATED\] **Gimp Palette** ### Critical Changes These changes may require you to change your configuration. * **GLOBAL : IMPROVEMENT : New red accent color value** Modified red from L\*a\*b lightness value 45 to 50 to bring it in line with the other accent colors and address bleed into dark background on some displays, as well as reducing shift of red against base03 when viewed with glasses (chromatic aberration). All instances of the colorscheme and palettes updated to new red and avalailable for use/import without further modification. Forks and ports should pull new changes and/or update ported red value accordingly. The new red: red #dc322f * **VIM : CHANGE : Default mode now 16 color** Default terminal mode is now ***16 colors***. Most of the users of terminal mode seem comfortabel and capable changing terminal colors. This is the preferred method of implementing Solarized in Terminal mode. If you wish to instead use the degraded 256 color palette, you may do so with the following line in your .vimrc: let g:solarized_termcolors=256 You no longer need to specify "let g:solarized_termcolors=16" as it is now the default; leaving it in your .vimrc won't hurt anything, however. * **VIM : IMPROVEMENT : New Toggle Background Plugin** Added new Toggle Background plugin. Will load automatically and show up as a menu item in the `Window` menu in gui vim. Automatically maps to `` if available (won't clobber that mapping if you're using it). Also available as a command `:ToggleBG`. To manually map to something other than ``: To set your own mapping in your .vimrc file, simply add the following line to support normal, insert and visual mode usage, changing the "``" value to the key or key combination you wish to use: call togglebg#map("") Note that you'll want to use a single function key or equivalent if you want the plugin to work in all modes (normal, insert, visual). * **VIM : IMPROVEMENT : Special & Non-text items now more visible** 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. let g:solarized_visibility = "normal"| "high" or "low" I'll be honest: I still prefer low visibility. I like them barely there. They show up in lines that are highlighted as by the cursor line, which works for me. If you are with me on this, put the following in your .vimrc: let g:solarized_visibility = "low" ### Non Critical Changes These changes should not impact your usage of the Solarized. * **PALETTES : IMPROVEMENT : Colorspace tagged and untagged versions** Changed default OS X color picker palatte swatches to tagged colors (sRGB) and included alternate palette with untagged color swatches for advanced users (v1.0.0beta1 had untagged as default). * **VIM : BUGFIX : Better display in Terminal.app, other emulators** Terminal.app and other common terminal emulators that report 8 color mode had display issues due to order of synt highlighting definitions and color values specified. These have been conformed and reordered in such a way that there is a more graceful degrading of the Solarized color palette on 8 color terminals. Infact, the experience should be almost identical to gui other than lack of bold typeface. * **VIM : BUGFIX : Better distinction between status bar and split windows** Status bar was previously too similar to the cursor line and window splits. This has now been changed significantly to improve the clarity of what is status, cursor line and window separator. * **VIM : STREAMLINED : Removed simultaneous gui/cterm definitions** * Refactored solarized.vim to eliminate simultaneous definition of gui and cterm values. * **VIM : BUGFIX : Removed italicized front in terminal mode** Removed default italicized font in terminal mode in the Solarized Vim colorscheme (many terminal emulators display Vim italics as reversed type). Italics still used in GUI mode by default and can still be turned off in both modes by setting a variable: `let g:solarized_italic=0`. 1.0.0beta1 ---------- First public release. Included: * Adobe Photoshop Swatches * Apple Color Picker Palette * Gimp Palette * iTerm2 colorschemes * Mutt mail client colorschemes * OS X Terminal.app colors * Vim Colorscheme * Xresources colors *** MODIFIED: 2011 Apr 16 ================================================ FILE: DEVELOPERS.mkd ================================================ --- Title: Solarized Developers Description: Notes and Guidelines on Port Development Author: Ethan Schoonover Tags: test, testing, test123 Colors: light yellow Created: 2011 Mar 15 Modified: 2011 Apr 14 --- Solarized Developers ==================== ## Notes and Guidelines on Port Development When developing a port of the Solarized colorscheme that you'd like to see included in the main project repository, please consider the following guidelines: 1. No hue or color changes. Please keep the same hex/rgb/L*a*b values. If you want to change them, that's fine, but I'd recommend setting it up as a 2. If you are making a new port, consider creating a repository with just the theme/plugin for your particular port, rather than forking the entire Solarized master repository. This allows your users to pull down just the theme for the application easily. I can also pull in your repository using git-subtree as a subdirectory of the master Solarized project. This is what I do with the Vim and Mutt themes (they each have an independent repo for the convenience of those cloning the project directly into their vim/mutt configuration). 3. If you are going to fork and modify code, please check to see who the maintainer for the specific Solarized component is. Mail me if you can't find that information in the README for the specific port. ### README guidlines Please include a README for your project that contains the following information: 1. A link to the main solarized project page: http://ethanschoonover.com/solarized This page will also have links back to your port/repo as well as attribution. I want to maintain it as the canonical clearing house for all ports, etc. 2. A link to your project repository 3. A link to the main solarized repository on github (in addition to the link to the main site above) 4. Installation instructions as necessary for your port See the vim-colors-solarized subdirectory for an example of this. Your README doesn't need to be this elaborate, of course, but should be clear enough that users can get up and running. ================================================ FILE: LICENSE ================================================ 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. ================================================ FILE: README.md ================================================ --- title: Solarized description: Precision colors for machines and people author: Ethan Schoonover tags: test, testing, test123 colors: light yellow created: 2011 Mar 15 modified: 2011 Apr 16 --- Solarized ========= ## Precision colors for machines and people [![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-yinyang.png)](#features) Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications. It has several [unique properties](#features). I designed this colorscheme with both precise [CIELAB](http://en.wikipedia.org/wiki/Lab_color_space) lightness relationships and a refined set of hues based on fixed color wheel relationships. It has been tested extensively in real world use on color calibrated displays (as well as uncalibrated/intentionally miscalibrated displays) and in a variety of lighting conditions. ***See the [changelog] for what's new in the most recent release.*** ![solarized palette](https://github.com/altercation/solarized/raw/master/img/solarized-palette.png) ![solarized vim](https://github.com/altercation/solarized/raw/master/img/solarized-vim.png) Currently available in formats for (cf [screenshots](#screenshots) below): ### Editors & IDEs * **Vim** by [me](https://github.com/altercation) (the Vim-only portion of Solarized is [available here](https://github.com/altercation/vim-colors-solarized), for use with Pathogen, etc.). See also the [Vim README](http://ethanschoonover.com/solarized/vim-colors-solarized). * **Emacs** courtesy of [Greg Pfeil](http://blog.technomadic.org) ([@sellout](http://twitter.com/sellout)) in the main repo and in a [standalone repository][Emacs Repository] * **IntelliJ IDEA** courtesy of [Johan Kaving](https://github.com/jkaving) and ([@flangy](http://twitter.com/flangy)) in the main repo and in a [standalone repository][IntelliJ Repository] * **NetBeans** courtesy of [Brian Fenton](https://github.com/fentie) and in the main repo and in a [standalone repository][NetBeans Repository] * **SeeStyle theme for Coda & SubEthaEdit** courtesy of [Justin Hileman](http://justinhileman.com/) ([@bobthecow](http://twitter.com/bobthecow)), in the main repo and in a [standalone repository][SeeStyle-Coda-SubEthaEdit Repository] * **TextMate** --- ***NOTE:*** Dark Theme is work in progress\ courtesy of [Tom Martin](http://thedeplorableword.net/) ([@deplorableword](http://twitter.com/deplorableword)) in the main repo and in a [standalone repository][TextMate Repository] (with key work from [Mark Story](http://mark-story.com) and [Brian Mathiyakom](http://brian.rarevisions.net)) * **TextWrangler & BBEdit** courtesy of [Rui Carmo](http://the.taoofmac.com) ([@taoofmac](http://twitter.com/taoofmac)) in the main repo and in a [standalone repository][TextWrangler-BBEdit Repository] * **Visual Studio** courtesy of [David Thibault](http://www.leddt.com) ([@leddt](http://twitter.com/leddt)) in the main repo and in a [standalone repository][Visual Studio Repository] * **Xcode** work in progress ports are available for [Xcode 3] and [Xcode 4] and will be pulled into the main Solarized project soon. ### Terminal Emulators * **Xresources** / Xdefaults * **iTerm2** * **OS X Terminal.app** * **Putty** courtesy [Brant Bobby](http://www.control-v.net) and on [GitHub](https://github.com/brantb) * **Xfce terminal** courtesy [Sasha Gerrand](http://sgerrand.com) and on [GitHub](https://github.com/sgerrand) ### Other Applications * **Mutt** e-mail client also by [me] (*just* the Mutt colorscheme is [available here][Mutt Repository]) ### Palettes * **Adobe Photoshop** Palette (inc. L\*a\*b values) * **Apple Color Picker** Palettes * **GIMP** Palette Don't see the application you want to use it in? Download the palettes (or pull the values from the table below) and create your own. Submit it back and I'll happily note the contribution and include it on this page. See also the [Usage & Development](#usage-development) section below for details on the specific values to be used in different contexts. Download -------- ### [Click here to download latest version](http://ethanschoonover.com/solarized/files/solarized.zip) Current release is **v1.0.0beta2**. See the [changelog] for details on what's new in this release. ### Fresh Code on GitHub You can also use the following links to access application specific downloads and git repositories: * **Canonical Project Page:** Downloads, screenshots and more information are always available from the project page: * **Full Git Repository:** The full git repository is at: Get it using the following command: $ git clone git://github.com/altercation/solarized.git * **Application Specific Repositories:** You can clone repositories specific to many of the application specific color themes. See links in the list above or select from this list: * [Vim Repository] * [Mutt Repository] * [Emacs Repository] * [IntelliJ Repository] * [NetBeans Repository] * [SeeStyle-Coda-SubEthaEdit Repository] * [TextMate Repository] * [TextWrangler-BBEdit Repository] * [Visual Studio Repository] * [Xcode 3 work in progress][Xcode 3] * [Xcode 4 work in progress][Xcode 4] Note that through the magic of [git-subtree](https://github.com/apenwarr/git-subtree) these repositories are all kept in sync, so you can pull any of them and get the most up-to-date version. Features -------- 1. **Selective contrast** On a sunny summer day I love to read a book outside. Not right in the sun; that's too bright. I'll hunt for a shady spot under a tree. The shaded paper contrasts with the crisp text nicely. If you were to actually measure the contrast between the two, you'd find it is much lower than black text on a white background (or white on black) on your display device of choice. Black text on white from a computer display is akin to reading a book in direct sunlight and tires the eye. ![solarized selective contrast](https://github.com/altercation/solarized/raw/master/img/solarized-selcon.png) Solarized reduces *brightness contrast* but, unlike many low contrast colorschemes, retains *contrasting hues* (based on colorwheel relations) for syntax highlighting readability. 2. **Both sides of the force** ![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-dualmode.png) I often switch between dark and light modes when editing text and code. Solarized retains the same selective contrast relationships and overall feel when switching between the light and dark background modes. A *lot* of thought, planning and testing has gone into making both modes feel like part of a unified colorscheme. 3. **16/5 palette modes** ![solarized palettes](https://github.com/altercation/solarized/raw/master/img/solarized-165.png) Solarized works as a sixteen color palette for compatibility with common terminal based applications / emulators. In addition, it has been carefully designed to scale down to a variety of five color palettes (four base monotones plus one accent color) for use in design work such as web design. In every case it retains a strong personality but doesn't overwhelm. 5. **Precision, symmetry** ![solarized symmetry](https://github.com/altercation/solarized/raw/master/img/solarized-sym.png) The monotones have symmetric CIELAB lightness differences, so switching from dark to light mode retains the same perceived contrast in brightness between each value. Each mode is equally readable. The accent colors are based off specific colorwheel relations and subsequently translated to CIELAB to ensure perceptual uniformity in terms of lightness. The hues themselves, as with the monotone \*a\*b values, have been adjusted within a small range to achieve the most pleasing combination of colors. See also the [Usage & Development](#usage-development) section below for details on the specific values to be used in different contexts. This makes colorscheme inversion trivial. Here, for instance, is a sass (scss) snippet that inverts solarized based on the class of the html tag (e.g. `` to give a dark background with red accent): $base03: #002b36; $base02: #073642; $base01: #586e75; $base00: #657b83; $base0: #839496; $base1: #93a1a1; $base2: #eee8d5; $base3: #fdf6e3; $yellow: #b58900; $orange: #cb4b16; $red: #dc322f; $magenta: #d33682; $violet: #6c71c4; $blue: #268bd2; $cyan: #2aa198; $green: #859900; @mixin rebase($rebase03,$rebase02,$rebase01,$rebase00,$rebase0,$rebase1,$rebase2,$rebase3) { background-color:$rebase03; color:$rebase0; * { color:$rebase0; } h1,h2,h3,h4,h5,h6 { color:$rebase1; border-color: $rebase0; } a, a:active, a:visited { color: $rebase1; } } @mixin accentize($accent) { a, a:active, a:visited, code.url { color: $accent; } h1,h2,h3,h4,h5,h6 {color:$accent} } /* light is default mode, so pair with general html definition */ html, .light { @include rebase($base3,$base2,$base1,$base0,$base00,$base01,$base02,$base03)} .dark { @include rebase($base03,$base02,$base01,$base00,$base0,$base1,$base2,$base3)} html * { color-profile: sRGB; rendering-intent: auto; } See also [the full css stylesheet for this site](https://github.com/altercation/ethanschoonover.com/blob/master/resources/css/style.css). Installation ------------ Installation instructions for each version of the colorscheme are included in the subdirectory README files. Note that for Vim (and possibly for Mutt) you may want to clone the specific repository (for instance if you are using Pathogen). See the links at the top of this file. Font Samples ------------ Solarized has been designed to handle fonts of various weights and retain readability, from the classic Terminus to the beefy Menlo. ![font samples - light](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-light.png) ![font samples - dark](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-dark.png) Clockwise from upper left: Menlo, Letter Gothic, Terminus, Andale Mono. Preview all code samples in specific font faces by selecting a link from this list: * [DejaVu Sans 18](http://ethanschoonover.com/solarized/img/dejavusans18/) * [DejaVu Sans 14](http://ethanschoonover.com/solarized/img/dejavusans14/) * [Letter Gothic 18](http://ethanschoonover.com/solarized/img/lettergothic18/) * [Letter Gothic 14](http://ethanschoonover.com/solarized/img/lettergothic14/) * [Andale Mono 14](http://ethanschoonover.com/solarized/img/andalemono14/) * [Monaco 14](http://ethanschoonover.com/solarized/img/monaco14/) * [Skyhook Mono 14](http://ethanschoonover.com/solarized/img/skyhookmono14/) * [Terminus 12](http://ethanschoonover.com/solarized/img/terminus12/) * [Terminus 20](http://ethanschoonover.com/solarized/img/terminus20/) Screenshots ----------- Click to view. ### Mutt [![mutt dark](https://github.com/altercation/solarized/raw/master/img/screen-mutt-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-mutt-dark.png) [![mutt light](https://github.com/altercation/solarized/raw/master/img/screen-mutt-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-mutt-light.png) ### C (Vim) [![c dark](https://github.com/altercation/solarized/raw/master/img/screen-c-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-c-dark.png) [![c light](https://github.com/altercation/solarized/raw/master/img/screen-c-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-c-light.png) ### Haskell (Vim) [![haskell dark](https://github.com/altercation/solarized/raw/master/img/screen-haskell-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-haskell-dark.png) [![haskell light](https://github.com/altercation/solarized/raw/master/img/screen-haskell-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-haskell-light.png) ### HTML (Vim) [![html dark](https://github.com/altercation/solarized/raw/master/img/screen-html-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-html-dark.png) [![html light](https://github.com/altercation/solarized/raw/master/img/screen-html-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-html-light.png) ### Java (Vim) [![java dark](https://github.com/altercation/solarized/raw/master/img/screen-java-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-java-dark.png) [![java light](https://github.com/altercation/solarized/raw/master/img/screen-java-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-java-light.png) ### Javascript (Vim) [![javascript dark](https://github.com/altercation/solarized/raw/master/img/screen-javascript-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-javascript-dark.png) [![javascript light](https://github.com/altercation/solarized/raw/master/img/screen-javascript-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-javascript-light.png) ### Pandoc Markdown (Vim) These screen shots show Vim running with my own [Pandoc Kit Syntax](http://ethanschoonover.com/pandockit/). [![pandoc dark](https://github.com/altercation/solarized/raw/master/img/screen-pandoc-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-pandoc-dark.png) [![pandoc light](https://github.com/altercation/solarized/raw/master/img/screen-pandoc-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-pandoc-light.png) ### Perl (Vim) [![perl dark](https://github.com/altercation/solarized/raw/master/img/screen-perl-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-perl-dark.png) [![perl light](https://github.com/altercation/solarized/raw/master/img/screen-perl-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-perl-light.png) ### PHP (Vim) [![php dark](https://github.com/altercation/solarized/raw/master/img/screen-php-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-php-dark.png) [![php light](https://github.com/altercation/solarized/raw/master/img/screen-php-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-php-light.png) ### Python (Vim) [![python dark](https://github.com/altercation/solarized/raw/master/img/screen-python-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-python-dark.png) [![python light](https://github.com/altercation/solarized/raw/master/img/screen-python-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-python-light.png) ### Ruby (Vim) [![ruby dark](https://github.com/altercation/solarized/raw/master/img/screen-ruby-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-ruby-dark.png) [![ruby light](https://github.com/altercation/solarized/raw/master/img/screen-ruby-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-ruby-light.png) ### Shell (Vim) [![shell dark](https://github.com/altercation/solarized/raw/master/img/screen-shell-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-shell-dark.png) [![shell light](https://github.com/altercation/solarized/raw/master/img/screen-shell-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-shell-light.png) ### TeX (Vim) [![tex dark](https://github.com/altercation/solarized/raw/master/img/screen-tex-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-tex-dark.png) [![tex light](https://github.com/altercation/solarized/raw/master/img/screen-tex-light-th.png)](https://github.com/altercation/solarized/raw/master/img/screen-tex-light.png) 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 Usage & Development ------------------- If you are considering developing a port for Solarized, please see also the [developer notes](http://ethanschoonover.com/solarized/DEVELOPERS) for information about optional repository structure and readme formats. Solarized flips between light and dark modes. In each mode, four monotones form the core values (with an optional fifth for emphasized content). ![value samples - dark](https://github.com/altercation/solarized/raw/master/img/solarized-values-dark.png) ![value samples - light](https://github.com/altercation/solarized/raw/master/img/solarized-values-light.png) Thus in the case of a dark background colorscheme, the normal relationship for background and body text is `base03:base0` (please note that body text is **not** `base00`). Note also that in cases where the background and foreground can be specified as a pair value, text can be highlighted using a combination of `base02:base1`. The L\*a\*b lightness difference between `base03:base0` and `base02:base1` is identical by design, resulting in identical readability against both normal and highlighted backgrounds. An example use case is folded text in Vim which uses `base02` for the background and `base1` for the foreground. The values in this example are simply inverted in the case of a light background. [Vim Repository]: https://github.com/altercation/vim-colors-solarized [Mutt Repository]: https://github.com/altercation/mutt-colors-solarized [Emacs Repository]: https://github.com/sellout/emacs-color-theme-solarized [IntelliJ Repository]: https://github.com/jkaving/intellij-colors-solarized [NetBeans Repository]: https://github.com/fentie/netbeans-colors-solarized [SeeStyle-Coda-SubEthaEdit Repository]: https://github.com/bobthecow/solarized-seestyle [TextMate Repository]: https://github.com/deplorableword/textmate-solarized [TextWrangler-BBEdit Repository]: https://github.com/rcarmo/textwrangler-bbedit-solarized [Visual Studio Repository]: https://github.com/leddt/visualstudio-colors-solarized [Xcode 3]: https://github.com/shayne/solarized/tree/master/apple-xcode3-solarized [Xcode 4]: https://github.com/brianmichel/solarized/tree/master/apple-xcode4-solarized [me]: http://ethanschoonover.com/colophon [changelog]: http://ethanschoonover.com/solarized/CHANGELOG [Vim README]: http://ethanschoonover.com/solarized/vim-colors-solarized ================================================ FILE: adobe-swatches-solarized/README.md ================================================ Solarized - Adobe Photoshop Swatches ==================================== ### [See official homepage for full content](http://ethanschoonover.com/solarized) Installation ------------ Import using the Photoshop swatches palette. Colors are referenced below: 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 sRGB 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 #4e4e4e 45 -07 -07 88 110 117 194 25 46 base00 #657b83 11/7 bryellow 241 #585858 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 #d7d7af 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 ================================================ FILE: apple-colorpalette-solarized/README.md ================================================ Solarized - Apple Color Picker Palette ====================================== ### [See official homepage for full content](http://ethanschoonover.com/solarized) Installation ------------ Copy or move the `solarized.clr` file to your `~/Library/Colors` directory. Use the included colorpicker launcher to confirm installation. Launch the `launch-colorpicker` application, navigate to the color palette view (usually the third icon from the left) and select 'Solarized' from the drop-down palette list. Click the cancel button to dismiss the color picker. Alternate Palette ------------------ NOT FOR USE UNLESS YOU UNDERSTAND THE HELL THAT IS COLOR MANAGEMENT. The `alternate palettes` directory contains two Apple Color Picker palettes. The "tagged" palette is identical to the main Solarized.clr palette. The untagged palette contains untagged sRGB values (Apple calls untagged values "device colors"). Don't use this unless you are using an application that otherwise can't handle tagged values. An example: If you are a web developer working on OS X and you wish to use one of the Solarized hex values, you have a couple choices: 1. Enter the code manually (easy, you should do this) 2. Use the color picker (possible, but do it the right way! See below...) A popular colorpicker plugin is the "Hex Color Picker" from . If you wish to use this with the colorpicker and a preset palette like Solarized, here's what you do: 1. Instead of the plain old "solarized.clr" palette, use the "solarized-tagged" and "solarized-untagged" palettes (solarized-tagged is the same as solarized.clr, just renamed for clarity). 2. In the Hex Color picker (inside the Apple Color Picker) click the options button and ensure that "Don't generate calibrated colors" is **checked**. Ideally, Hex Color Picker would be aware of a particular color being untagged (a "device" color in Apple parlance) and hand it over to you in unaltered form, even if it was otherwise pulling calibrated colors off your display. 3. If you desire a Solarized color **for web use** (not for use in an application that uses Mac color swatches) then you switch to the Solarized-untagged palette in Color Picker, choose a color, switch to the Hex Color Picker tab and grab the correct color. Double check against the chart below to confirm it's working as expected. This is just one of many examples of how, even with applications/plugins that deal exclusively with color, there are unexpected or unintuitive exceptions to take into account. 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 sRGB 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 #4e4e4e 45 -07 -07 88 110 117 194 25 46 base00 #657b83 11/7 bryellow 241 #585858 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 #d7d7af 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 ================================================ FILE: apple-colorpalette-solarized/alternate palettes/README.md ================================================ Alternate Palette ------------------ NOT FOR USE UNLESS YOU UNDERSTAND THE HELL THAT IS COLOR MANAGEMENT. The `alternate palettes` directory contains two Apple Color Picker palettes. The "tagged" palette is identical to the main Solarized.clr palette. The untagged palette contains untagged sRGB values (Apple calls untagged values "device colors"). Don't use this unless you are using an application that otherwise can't handle tagged values. An example: If you are a web developer working on OS X and you wish to use one of the Solarized hex values, you have a couple choices: 1. Enter the code manually (easy, you should do this) 2. Use the color picker (possible, but do it the right way! See below...) A popular colorpicker plugin is the "Hex Color Picker" from . If you wish to use this with the colorpicker and a preset palette like Solarized, here's what you do: 1. Instead of the plain old "solarized.clr" palette, use the "solarized-tagged" and "solarized-untagged" palettes (solarized-tagged is the same as solarized.clr, just renamed for clarity). 2. In the Hex Color picker (inside the Apple Color Picker) click the options button and ensure that "Don't generate calibrated colors" is **checked**. Ideally, Hex Color Picker would be aware of a particular color being untagged (a "device" color in Apple parlance) and hand it over to you in unaltered form, even if it was otherwise pulling calibrated colors off your display. 3. If you desire a Solarized color **for web use** (not for use in an application that uses Mac color swatches) then you switch to the Solarized-untagged palette in Color Picker, choose a color, switch to the Hex Color Picker tab and grab the correct color. Double check against the chart below to confirm it's working as expected. This is just one of many examples of how, even with applications/plugins that deal exclusively with color, there are unexpected or unintuitive exceptions to take into account. 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 sRGB 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 #4e4e4e 45 -07 -07 88 110 117 194 25 46 base00 #657b83 11/7 bryellow 241 #585858 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 #d7d7af 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 ================================================ FILE: apple-colorpalette-solarized/launch-colorpicker.app/Contents/Info.plist ================================================ CFBundleAllowMixedLocalizations CFBundleDevelopmentRegion English CFBundleExecutable applet CFBundleIconFile applet CFBundleInfoDictionaryVersion 6.0 CFBundleName launch-colorpicker CFBundlePackageType APPL CFBundleSignature aplt LSMinimumSystemVersionByArchitecture x86_64 10.6 LSRequiresCarbon WindowState dividerCollapsed eventLogLevel -1 name ScriptWindowState positionOfDivider 333 savedFrame 159 537 602 597 0 0 1920 1178 selectedTabView event log ================================================ FILE: apple-colorpalette-solarized/launch-colorpicker.app/Contents/PkgInfo ================================================ APPLaplt ================================================ FILE: apple-colorpalette-solarized/launch-colorpicker.app/Contents/Resources/description.rtfd/TXT.rtf ================================================ {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 {\fonttbl} {\colortbl;\red255\green255\blue255;} } ================================================ FILE: emacs-colors-solarized/LICENSE ================================================ 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. ================================================ FILE: emacs-colors-solarized/README.md ================================================ Solarized ========= ### [See official homepage for full content](http://ethanschoonover.com/solarized) ## Precision colors for machines and people [![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-yinyang.png)](#features)\ Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications. It has several [unique properties](#features). I designed this colorscheme with both precise [CIELAB](http://en.wikipedia.org/wiki/Lab_color_space) lightness relationships and a refined set of hues based on fixed color wheel relationships. It has been tested extensively in real world use on color calibrated displays (as well as uncalibrated/intentionally miscalibrated displays) and in a variety of lighting conditions. ![solarized palette](https://github.com/altercation/solarized/raw/master/img/solarized-palette.png)\ Currently available in formats for (cf [screenshots](#screenshots) below): * **Vim** (the Vim-only portion of Solarized is [available here](https://github.com/altercation/vim-colors-solarized), for use with Pathogen, etc.) * **Mutt** e-mail client (*just* the Mutt colorscheme is [available here](https://github.com/altercation/mutt-colors-solarized)) * **Xresources** / Xdefaults * **iTerm2** * OS X **Terminal.app** * Adobe Photoshop Palette (inc. L\*a\*b values) * Apple Color Picker Palette * GIMP Palette Don't see the application you want to use it in? Download the palettes (or pull the values from the table below) and create your own. Submit it back and I'll happily note the contribution and include it on this page. **Note:** I am still tweaking the Vim highlighting for specific syntaxes and welcome feedback on these. Download -------- ### [Click here to download latest version](http://ethanschoonover.com/files/solarized/solarized.tar.gz) Or use the following links to access application specific downloads and git repositories: * **Git repo:** The full git repository is at: Get it using the following command: $ git clone git://github.com/altercation/solarized.git * **Vim only:** The vim-only colorscheme (Pathogen ready) is available at: . $ git clone git://github.com/altercation/vim-colors-solarized.git You can also download it from [vim.org](http://www.vim.org/scripts/script.php?script_id=3520). * **Mutt only:** The mutt-only variants can be cloned from $ git clone git://github.com/altercation/mutt-colors-solarized.git * **Canonical Project Page:** Downloads, screenshots and more information are always available from the project page: Note that through the magic of [git-subtree](https://github.com/apenwarr/git-subtree) these repositories are all kept in sync, so you can pull any of them and get the most up-to-date version. Features -------- 1. **Selective contrast** On a sunny summer day I love to read a book outside. Not right in the sun; that's too bright. I'll hunt for a shady spot under a tree. The shaded paper contrasts with the crisp text nicely. If you were to actually measure the contrast between the two, you'd find it is much lower than black text on a white background (or white on black) on your display device of choice. Black text on white from a computer display is akin to reading a book in direct sunlight and tires the eye. ![solarized selective contrast](https://github.com/altercation/solarized/raw/master/img/solarized-selcon.png)\ Solarized reduces *brightness contrast* but, unlike many low contrast colorschemes, retains *contrasting hues* (based on colorwheel relations) for syntax highlighting readability. 2. **Both sides of the force** ![solarized dualmode](https://github.com/altercation/solarized/raw/master/img/solarized-dualmode.png)\ I often switch between dark and light modes when editing text and code. Solarized retains the same selective contrast relationships and overall feel when switching between the light and dark background modes. A *lot* of thought, planning and testing has gone into making both modes feel like part of a unified colorscheme. 3. **16/5 palette modes** ![solarized palettes](https://github.com/altercation/solarized/raw/master/img/solarized-165.png)\ Solarized works as a sixteen color palette for compatibility with common terminal based applications / emulators. In addition, it has been carefull designed to scale down to a variety of five color palettes (four base monotones plus one accent color) for use in design work such as web design. In every case it retains a strong personality but doesn't overwhelm. 5. **Precision, symmetry** ![solarized symmetry](https://github.com/altercation/solarized/raw/master/img/solarized-sym.png)\ The monotones have symmetric CIELAB lightness differences, so switching from dark to light mode retains the same perceived contrast in brightness between each value. Each mode is equally readable. The accent colors are based off specific colorwheel relations and subsequently translated to CIELAB to ensure perceptual uniformity in terms of lightness. The hues themselves, as with the monotone \*a\*b values, have been adjusted within a small range to achieve the most pleasing combination of colors. This makes colorscheme inversion trivial. Here, for instance, is a sass (scss) snippet that inverts solarized based on the class of the html tag (e.g. `` to give a dark background with red accent): $base03: #002b36; $base02: #073642; $base01: #586e75; $base00: #657b83; $base0: #839496; $base1: #93a1a1; $base2: #eee8d5; $base3: #fdf6e3; $yellow: #b58900; $orange: #cb4b16; $red: #d30102; $magenta: #d33682; $violet: #6c71c4; $blue: #268bd2; $cyan: #2aa198; $green: #859900; @mixin rebase($rebase03,$rebase02,$rebase01,$rebase00,$rebase0,$rebase1,$rebase2,$rebase3) { background-color:$rebase03; color:$rebase0; * { color:$rebase0; } h1,h2,h3,h4,h5,h6 { color:$rebase1; border-color: $rebase0; } a, a:active, a:visited { color: $rebase1; } } @mixin accentize($accent) { a, a:active, a:visited, code.url { color: $accent; } h1,h2,h3,h4,h5,h6 {color:$accent} } /* light is default mode, so pair with general html definition */ html, .light { @include rebase($base3,$base2,$base1,$base0,$base00,$base01,$base02,$base03)} .dark { @include rebase($base03,$base02,$base01,$base00,$base0,$base1,$base2,$base3)} html * { color-profile: sRGB; rendering-intent: auto; } Installation ------------ Installation instructions for each version of the colorscheme are included in the subdirectory README files. Note that for Vim (and possibly for Mutt) you may want to clone the specific repository (for instance if you are using Pathogen). See the links at the top of this file. Font Samples ------------ Solarized has been designed to handle fonts of various weights and retain readability, from the classic Terminus to the beefy Menlo. ![font samples - light](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-light.png) ![font samples - dark](https://github.com/altercation/solarized/raw/master/img/solarized-fontsamples-dark.png) Clockwise from upper left: Menlo, Letter Gothic, Terminus, Andale Mono Screenshots ----------- Click to view. ### Mutt [![mutt dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-dark.png) [![mutt light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-mutt-light.png) ### C (Vim) [![c dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-dark.png) [![c light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-c-light.png) ### Haskell (Vim) [![haskell dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-dark.png) [![haskell light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-haskell-light.png) ### HTML (Vim) [![html dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-dark.png) [![html light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-html-light.png) ### Java (Vim) [![java dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-dark.png) [![java light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-java-light.png) ### Pandoc Markdown (Vim) These screen shots show Vim running with my own [Pandoc Kit Syntax](/pandockit). [![pandoc dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-dark.png) [![pandoc light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-pandoc-light.png) ### Perl (Vim) [![perl dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-dark.png) [![perl light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-perl-light.png) ### Python (Vim) [![python dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-dark.png) [![python light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-python-light.png) ### Ruby (Vim) [![ruby dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-dark.png) [![ruby light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-ruby-light.png) ### TeX (Vim) [![tex dark](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-dark-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-dark.png) [![tex light](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-light-th.png)](https://github.com/altercation/solarized/raw/master/img/solarized-screen-tex-light.png) 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 ================================================ FILE: emacs-colors-solarized/color-theme-solarized.el ================================================ ;;; 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-[dark|light] (eval-when-compile (require 'color-theme)) (defun color-theme-solarized (mode) "Color theme by Ethan Schoonover, created 2011-03-24. Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized." (interactive "Slight or dark? ") (let ((base03 "#002b36") (base02 "#073642") (base01 "#586e75") (base00 "#657b83") (base0 "#839496") (base1 "#93a1a1") (base2 "#eee8d5") (base3 "#fdf6e3") (yellow "#b58900") (orange "#cb4b16") (red "#dc322f") (magenta "#d33682") (violet "#6c71c4") (blue "#268bd2") (cyan "#2aa198") (green "#859900")) (when (eq 'light mode) (rotatef base03 base3) (rotatef base02 base2) (rotatef base01 base1) (rotatef base00 base0)) (color-theme-install `(color-theme-solarized ((foreground-color . ,base0) (background-color . ,base03) (background-mode . ,mode) (cursor-color . ,base0)) ;; basic (default ((t (:foreground ,base0)))) (cursor ((t (:foreground ,base0 :background ,base03 :inverse-video t)))) (escape-glyph-face ((t (:foreground ,red)))) (fringe ((t (:foreground ,base01 :background ,base02)))) (header-line ((t (:foreground ,base0 :background ,base2)))) (highlight ((t (:background ,base02)))) (isearch ((t (:foreground ,yellow :inverse-video t)))) (menu ((t (:foreground ,base0 :background ,base02)))) (minibuffer-prompt ((t (:foreground ,blue)))) (mode-line ((t (:foreground ,base1 :background ,base02 :box (:line-width 1 :color ,base1))))) (mode-line-buffer-id ((t (:foreground ,base1)))) (mode-line-inactive ((t (:foreground ,base0 :background ,base02 :box (:line-width 1 :color ,base02))))) (region ((t (:background ,base02)))) (secondary-selection ((t (:background ,base02)))) (trailing-whitespace ((t (:foreground ,red :inverse-video t)))) (vertical-border ((t (:foreground ,base0)))) ;; compilation (compilation-info ((t (:forground ,green :bold t)))) (compilation-warning ((t (:foreground ,orange :bold t)))) ;; customize (custom-button ((t (:background ,base02 :box (:line-width 2 :style released-button))))) (custom-button-mouse ((t (:inherit custom-button :foreground ,base1)))) (custom-button-pressed ((t (:inherit custom-button-mouse :box (:line-width 2 :style pressed-button))))) (custom-comment-tag ((t (:background ,base02)))) (custom-comment-tag ((t (:background ,base02)))) (custom-documentation ((t (:inherit default)))) (custom-group-tag ((t (:foreground ,orange :bold t)))) (custom-link ((t (:foreground ,violet)))) (custom-state ((t (:foreground ,green)))) (custom-variable-tag ((t (:foreground ,orange :bold t)))) ;; diff (diff-added ((t (:foreground ,green :inverse-video t)))) (diff-changed ((t (:foreground ,yellow :inverse-video t)))) (diff-removed ((t (:foreground ,red :inverse-video t)))) ;; emacs-wiki (emacs-wiki-bad-link-face ((t (:foreground ,red :underline t)))) (emacs-wiki-link-face ((t (:foreground ,blue :underline t)))) (emacs-wiki-verbatim-face ((t (:foreground ,base00 :underline t)))) ;; font-lock (font-lock-builtin-face ((t (:foreground ,green)))) (font-lock-comment-face ((t (:foreground ,base01 :italic t)))) (font-lock-constant-face ((t (:foreground ,cyan)))) (font-lock-function-name-face ((t (:foreground ,blue)))) (font-lock-keyword-face ((t (:foreground ,green)))) (font-lock-string-face ((t (:foreground ,cyan)))) (font-lock-type-face ((t (:foreground ,yellow)))) (font-lock-variable-name-face ((t (:foreground ,blue)))) (font-lock-warning-face ((t (:foreground ,red :bold t)))) ;; info (info-xref ((t (:foreground ,blue :underline t)))) (info-xref-visited ((t (:inherit info-xref :foreground ,magenta)))) ;; org (org-hide ((t (:foreground ,base03)))) (org-todo ((t (:foreground ,red :bold t)))) (org-done ((t (:foreground ,green :bold t)))) ;; show-paren (show-paren-match-face ((t (:background ,cyan :foreground ,base3)))) (show-paren-mismatch-face ((t (:background ,red :foreground ,base3)))))))) (defun color-theme-solarized-dark () (interactive) (color-theme-solarized 'dark)) (defun color-theme-solarized-light () (interactive) (color-theme-solarized 'light)) (add-to-list 'color-themes '(color-theme-solarized-light "Solarized Light" "Ethan Schoonover & Greg Pfeil ")) (add-to-list 'color-themes '(color-theme-solarized-dark "Solarized Dark" "Ethan Schoonover & Greg Pfeil ")) (provide 'color-theme-solarized) ================================================ FILE: files/README.md ================================================ Solarized Package Downloads =========================== If you are reviewing this on Github you probably just want to clone the project. This project does double duty as the actual website (or rather subdirectory) for Solarized at . The current release downloads live here. I only build these for an actual release increment. The version tagged and untagged files in this directory are identical. ================================================ FILE: gedit/README.md ================================================ # Solarized for Gedit ## Precision colors for machines and people - _Now with more Gedit!_ --- ### Solarized Solarized was created by [Ethan Schoonover][ES] and you can find out more about the design work that went into it on his [project page][ES-solarized]. If you would like to use Solarized in editors other than Gedit or on your terminal, Ethan hosts the [main repository][SolarizedRepo] which combines all the available ports in one place. ### Solarized for Gedit Solarized was initially ported for Gedit by [Matthew Cantelon][MC] and can be found at . ### Screenshots ![Light theme][LightImg] ![Dark theme][DarkImg] ### Installation _Please note that installation has only been tested on Ubuntu 12.10 and Gedit 3_ You can download the files in one of two ways: * using `git clone git://github.com/mattcan/solarized-gedit.git` * using the **Download** button to get the ZIP file and extracting the files to a folder Once the files are on your PC, copy `solarized-light.xml` and `solarized-dark.xml` to one of these folders: * if you are the only user on your computer ``` mkdir -p ~/.local/share/gedit/styles cp solarized-* ~/.local/share/gedit/styles ``` * if you want everyone on your PC to be able to use the styles ( _path below is for Ubuntu_ ) ``` sudo mkdir -p /usr/share/gtksourceview-3.0/styles sudo cp solarized-* /usr/share/gtksourceview-3.0/styles ``` * you can also use the installer ( _has only been tested with Ubuntu 12.10_ ) ``` cd wherever/you/extracted chmod a+x installer # -a for all users, -l for local ./installer [-a | -l] ``` [ES]: http://ethanschoonover.com [ES-Solarized]: http://ethanschoonover.com/solarized [SolarizedRepo]: https://github.com/altercation/solarized [MC]: http://matthewcantelon.ca [LightImg]: https://github.com/mattcan/solarized-gedit/raw/master/img/solarized_light.png [DarkImg]: https://github.com/mattcan/solarized-gedit/raw/master/img/solarized_dark.png ================================================ FILE: gedit/installer ================================================ #!/bin/bash # shows usage instructions usage() { cat << EOF usage: $0 [options] This script installs the Solarized styles for gedit. OPTIONS: -h Shows this message -a Install for all users -l Install only for you EOF } chkdir() { if [ ! -d "$INSTALLPATH" ]; then if [ "$NEEDSUDO" == true ]; then sudo mkdir -p "$INSTALLPATH" else mkdir -p "$INSTALLPATH" fi fi } # path to install to INSTALLPATH=$HOME/.local/share/gedit/styles # will need to use sudo to install for all users NEEDSUDO=false # loop through passed arguments while getopts "hal" OPTION do case $OPTION in h) usage exit 1 ;; a) INSTALLPATH=/usr/share/gtksourceview-3.0/styles NEEDSUDO=true ;; l) INSTALLPATH=$HOME/.local/share/gedit/styles ;; ?) INSTALLPATH=$HOME/.local/share/gedit/styles ;; esac done # install for all users when sudo set to true if [ "$NEEDSUDO" == true ]; then chkdir sudo cp solarized-*.xml "$INSTALLPATH" else chkdir cp solarized-*.xml "$INSTALLPATH" fi ================================================ FILE: gedit/solarized-dark.xml ================================================ Matthew Cantelon <_description>Gedit port of the dark version of the Solarized theme. Check https://github.com/mattcan/solarized-gedit for more information.

abc

def

Testing page

================================================ FILE: utils/tests/java.java ================================================ import java.util.Map; import java.util.TreeSet; public class GetEnv { /** * let's test generics * @param args the command line arguments */ public static void main(String[] args) { // get a map of environment variables Map env = System.getenv(); // build a sorted set out of the keys and iterate for(String k: new TreeSet(env.keySet())) { System.out.printf("%s = %s\n", k, env.get(k)); } } } ================================================ FILE: utils/tests/javascript.js ================================================ /** sample javascript from xui */ var undefined, xui, window = this, string = new String('string'), document = window.document, simpleExpr = /^#?([\w-]+)$/, idExpr = /^#/, tagExpr = /<([\w:]+)/, slice = function (e) { return [].slice.call(e, 0); }; try { var a = slice(document.documentElement.childNodes)[0].nodeType; } catch(e){ slice = function (e) { var ret=[]; for (var i=0; e[i]; i++) ret.push(e[i]); return ret; }; } window.x$ = window.xui = xui = function(q, context) { return new xui.fn.find(q, context); }; ================================================ FILE: utils/tests/pandoc.md ================================================ % Pandoc Test File % Ethan Schoonover % March 22, 2011 %% format: markdown+lhs > import Hakyll > main :: IO () > main = hakyll $ do > compile "css/*" $ byExtension (error "Not a (S)CSS file") Using *Pandoc* ============= In this document the technical terms `water` and `ice` will be replaced by H~2~O.^[a contrived footnote] ## Heading styles can be mixed And matched, and they still fold **properly** * * * * Some code: a verbatim or "code" block ================================================ FILE: utils/tests/perl.pl ================================================ #!perl -w # Time-stamp: <2002/04/06, 13:12:13 (EST), maverick, csvformat.pl> # Two pass CSV file to table formatter $delim = $#ARGV >= 1 ? $ARGV[1] : ','; print STDERR "Split pattern: $delim\n"; # first pass open F, "<$ARGV[0]" or die; while() { chomp; $i = 0; map { $max[$_->[1]] = $_->[0] if $_->[0] > ($max[$_->[1]] || 0) } (map {[length $_, $i++]} split($delim)); } close F; print STDERR 'Field width: ', join(', ', @max), "\n"; print STDERR join(' ', map {'-' x $_} @max); # second pass open F, "<$ARGV[0]" or die; while() { chomp; $i = 0; map { printf("%-$max[$_->[1]]s ", $_->[0]) } (map {[$_, $i++]} split($delim)); print "\n"; } close F; ================================================ FILE: utils/tests/php.php ================================================ hasPermission("ManageCountries")) { ?>
================================================ FILE: utils/tests/python.py ================================================ # test python (sample from offlineimap) class ExitNotifyThread(Thread): """This class is designed to alert a "monitor" to the fact that a thread has exited and to provide for the ability for it to find out why.""" def run(self): global exitthreads, profiledir self.threadid = thread.get_ident() try: if not profiledir: # normal case Thread.run(self) else: try: import cProfile as profile except ImportError: import profile prof = profile.Profile() try: prof = prof.runctx("Thread.run(self)", globals(), locals()) except SystemExit: pass prof.dump_stats( \ profiledir + "/" + str(self.threadid) + "_" + \ self.getName() + ".prof") except: self.setExitCause('EXCEPTION') if sys: self.setExitException(sys.exc_info()[1]) tb = traceback.format_exc() self.setExitStackTrace(tb) else: self.setExitCause('NORMAL') if not hasattr(self, 'exitmessage'): self.setExitMessage(None) if exitthreads: exitthreads.put(self, True) def setExitCause(self, cause): self.exitcause = cause def getExitCause(self): """Returns the cause of the exit, one of: 'EXCEPTION' -- the thread aborted because of an exception 'NORMAL' -- normal termination.""" return self.exitcause def setExitException(self, exc): self.exitexception = exc def getExitException(self): """If getExitCause() is 'EXCEPTION', holds the value from sys.exc_info()[1] for this exception.""" return self.exitexception def setExitStackTrace(self, st): self.exitstacktrace = st def getExitStackTrace(self): """If getExitCause() is 'EXCEPTION', returns a string representing the stack trace for this exception.""" return self.exitstacktrace def setExitMessage(self, msg): """Sets the exit message to be fetched by a subsequent call to getExitMessage. This message may be any object or type except None.""" self.exitmessage = msg def getExitMessage(self): """For any exit cause, returns the message previously set by a call to setExitMessage(), or None if there was no such message set.""" return self.exitmessage ================================================ FILE: utils/tests/ruby.rb ================================================ # ruby test file ruby.rb include Enumerable def initialize(rbconfig) @rbconfig = rbconfig @no_harm = false end def load_savefile begin File.foreach(savefile()) do |line| k, v = *line.split(/=/, 2) self[k] = v.strip end rescue Errno::ENOENT setup_rb_error $!.message + "\n#{File.basename($0)} config first" end end if c['rubylibdir'] # V > 1.6.3 libruby = "#{c['prefix']}/lib/ruby" siterubyverarch = c['sitearchdir'] end parameterize = lambda {|path| path.sub(/\A#{Regexp.quote(c['prefix'])}/, '$prefix') } if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg } makeprog = arg.sub(/'/, '').split(/=/, 2)[1] else makeprog = 'make' end def setup_rb_error(msg) raise SetupError, msg end if $0 == __FILE__ begin ToplevelInstaller.invoke rescue SetupError raise if $DEBUG $stderr.puts $!.message $stderr.puts "Try 'ruby #{$0} --help' for detailed usage." exit 1 end end ================================================ FILE: utils/tests/shell.sh ================================================ #!/bin/bash cd $ROOT_DIR DOT_FILES="lastpass weechat ssh Xauthority" for dotfile in $DOT_FILES; do conform_link "$DATA_DIR/$dotfile" ".$dotfile"; done # }}} # crontab update from file {{{ # TODO: refactor with suffix variables (or common cron values) case "$PLATFORM" in linux) #conform_link "$CONF_DIR/shell/zshenv" ".zshenv" crontab -l > $ROOT_DIR/tmp/crontab-conflict-arch cd $ROOT_DIR/$CONF_DIR/cron if [[ "$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)" == "" ]]; then # no difference with current backup logger "$LOG_PREFIX: crontab live settings match stored "\ "settings; no restore required" rm ~/tmp/crontab-conflict-arch else # current crontab settings in file do not match live settings crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch logger "$LOG_PREFIX: crontab stored settings conflict with "\ "live settings; stored settings restored. "\ "Previous settings recorded in ~/tmp/crontab-conflict-arch." fi ;; ================================================ FILE: utils/tests/tex.tex ================================================ % Time-stamp: <2004/04/06, 16:46:43 (EST), maverick, test.tex> \subsection{Strict diagonal-dominance} Suppose we are given a matrix $A=L+D$, where $L$ is a Laplacian and $D$ is a nonnegative diagonal matrix, for which we seek to construct a preconditioner. We may construct a Support Tree Preconditioner, $B = \begin{pmatrix} T & U\\U\TT & W\end{pmatrix}$ for $L$ and to use $B' =\begin{pmatrix} T & U \\U\TT & W+D\end{pmatrix}$ as a preconditioner for $A$. If we let $Q = W - U\TT T\IV U$, by Lemma~\ref{lem:stcg} it suffices to bound $\sigma(A/Q+D)$ and $\sigma(Q+D/A)$. \begin{proposition}\label{prop:XZ-YZ} If $X$, $Y$, and $Z$ are spsd matrices of the same size then $\sigma(X+Z/Y+Z) \leq \max\{\sigma(X/Y),\, 1\}$. \end{proposition} \Proof We have $\sigma(X+Z/Y+Z) = \min\{\tau \mid \forall\vv{x},\, \tau\cdot \vv{x}\TT (Y+Z)\vv{x} \geq \vv{x}\TT(X+Z)\vv{x}\} = \min\{\tau \mid \forall\vv{x},\, (\tau-1)\cdot \vv{x}\TT Z\vv{x} + \tau \cdot\vv{x}\TT Y\vv{x} \geq \vv{x}\TT X\vv{x}\} \leq \max\{1,\,\sigma(X/Y)\}$.\QED ================================================ FILE: utils/vimorg-text ================================================ Solarized ========= summary ------- Beautiful dual light/dark, selective contrast, GUI/256/16 colorscheme detailed description -------------------- Screenshots and details at http://ethanschoonover.com/solarized (includes Solarized for other applications including mutt, terminal emulators). Can also be cloned from github at https://github.com/altercation/vim-colors-solarized for use with Pathogen, Vundle, etc. * * * Solarized is a beautiful, carefully designed 16 color, selective contrast colorscheme with both *light* and *dark* modes. It supports GUI full color, 256 color terminal mode and 16 color terminal mode (use Solarized terminal colorschemes with the latter for optimal results; see project homepage above). It has been built on a foundation of eight monotones with precise CIELAB lightness relations. These monotones relations are symmetric, allowing for use in light and dark modes with identical readability. Install details --------------- See the README in the script download for installation details and utility scripts for your .vimrc. For the impatient without customized vim setups: drop solarized.vim into your ~/.vim/colors directory. ================================================ FILE: utils/vimscreenshots.applescript ================================================ set fontList to {{"LetterGothicMono\\ Light:h18", "lettergothic18"}, {"LetterGothicMono\\ Light:h14", "lettergothic14"}, {"Andale\\ Mono:h14", "andalemono14"}, {"Monaco:h14", "monaco14"}, {"DejaVu\\ Sans\\ Mono:h18", "dejavusans18"}, {"DejaVu\\ Sans\\ Mono:h14", "dejavusans14"}, {"SkyHook\\ Mono:h14", "skyhookmono14"}, {"Terminus\\ Medium:h20", "terminus20"}, {"Terminus\\ Medium:h12", "terminus12"}} set fileSuffixes to {"-light", "-dark"} tell application "MacVim" --set thisSize to bounds of first window end tell set TestFolder to choose folder tell application "System Events" set TestFileNames to the name of every item of TestFolder whose name does not start with "." end tell tell application "MacVim" activate delay 1 my do_menu("MacVim", "File", "Close Window") delay 1 my do_menu("MacVim", "File", "New Window") delay 1 tell application "System Events" keystroke ":set lines=30 | set columns=87 | set guifont=LetterGothicMono\\ Light:h18 | set guioptions-=Tm | set showtabline=0 | set transparency=0" & return end tell delay 1 tell application "Finder" set screenResolution to bounds of window of desktop set screenWidth to (item 3 of screenResolution) set screenHeight to (item 4 of screenResolution) end tell repeat with t from 1 to number of items in fontList set fontCommand to item 1 of item t of fontList set fontDirectory to item 2 of item t of fontList set tmpDir to ((POSIX path of (path to desktop)) as string) & fontDirectory try do shell script "mkdir " & tmpDir end try try do shell script "rm " & tmpDir & "/index.html" end try do shell script "echo \"

" & fontDirectory & "

\" >> " & tmpDir & "/index.html" repeat with i from 1 to number of items in TestFileNames set ThisFileName to item i of TestFileNames set ThisBaseFileName to (text 1 thru ((offset of "." in ThisFileName) - 1) of ThisFileName) as string do shell script "echo \"

" & ThisBaseFileName & "\" >> " & tmpDir & "/index.html" end repeat tell application "System Events" to keystroke ":set guifont=" & fontCommand & return delay 2 tell application "System Events" set proc to (name of first process whose frontmost is true) tell window 1 of process proc -- get window initial position copy position to {ini_x, ini_y} copy size to {windowWidth, windowHeight} set chromeHeight to 24 -- center window because the sips crop command automatically centers the cropped area in the image set windowPosX to ((screenWidth - windowWidth) / 2) as integer set windowPosY to (((screenHeight - windowHeight) / 2) - chromeHeight / 2) as integer set position to {windowPosX, windowPosY} end tell end tell delay 0.5 repeat with i from 1 to number of items in TestFileNames set ThisFileName to item i of TestFileNames set ThisBaseFileName to (text 1 thru ((offset of "." in ThisFileName) - 1) of ThisFileName) as string open POSIX path of TestFolder & ThisFileName delay 0.5 set tmpBaseFileName to "screen-" & ThisBaseFileName set tmpPath to (tmpDir & "/" & tmpBaseFileName) --set tmpPath to quoted form of tmpPath do shell script "echo \"

" & ThisBaseFileName & "

\" >> " & tmpDir & "/index.html" repeat with fileSuffix in fileSuffixes set tmpFileName to tmpPath & fileSuffix & ".png" set tmpThumbName to tmpPath & fileSuffix & "-th.png" set captureCommand to "screencapture" & space & "-x" & space & tmpFileName set convertBaseCommand to "/usr/local/bin/convert " & tmpFileName & " -crop " & windowWidth & "x" & windowHeight & "+" & windowPosX & "+" & windowPosY -- +dither turns *off* dithering set thumbCommand to convertBaseCommand & " -thumbnail 20% -unsharp 0x.5 +dither -depth 8 -colors 256 -strip " & tmpThumbName set cropCommand to convertBaseCommand & " +dither -depth 8 -colors 256 -strip " & tmpFileName do shell script captureCommand delay 0.5 do shell script thumbCommand do shell script cropCommand do shell script "echo \"

\" >> " & tmpDir & "/index.html" tell application "System Events" to keystroke ":Togbg" & return delay 0.5 end repeat end repeat end repeat end tell on do_menu(app_name, menu_name, menu_item) try -- bring the target application to the front tell application app_name activate end tell tell application "System Events" tell process app_name tell menu bar 1 tell menu bar item menu_name tell menu menu_name click menu item menu_item end tell end tell end tell end tell end tell return true on error error_message return false end try end do_menu ================================================ FILE: vim-colors-solarized/README.mkd ================================================ --- Title: Solarized Colorscheme for Vim Description: Precision colors for machines and people Author: Ethan Schoonover Colors: light yellow Created: 2011 Mar 15 Modified: 2011 Apr 16 --- Solarized Colorscheme for Vim ============================= Developed by Ethan Schoonover 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 [Vim-only repository] on github, or the [vim.org script] page see the link above to the Solarized homepage or visit the main [Solarized repository]. The [Vim-only repository] is kept in sync with the main [Solarized repository] and is for installation convenience only (with [Pathogen] or [Vundle], for instance). Issues, bug reports, changelogs are centralized at the main [Solarized repository]. [Solarized homepage]: http://ethanschoonover.com/solarized [Solarized repository]: https://github.com/altercation/solarized [Vim-only repository]: https://github.com/altercation/vim-colors-solarized [vimorg-script]: http://vim.org/script [Pathogen]: https://github.com/tpope/vim-pathogen [Vundle]: https://github.com/gmarik/vundle Installation ------------ ### Option 1: Manual installation 1. Move `solarized.vim` to your `.vim/colors` directory. After downloading the vim script or package: $ cd vim-colors-solarized/colors $ mv solarized.vim ~/.vim/colors/ ### Option 2: Pathogen installation ***(recommended)*** 1. Download and install Tim Pope's [Pathogen]. 2. Next, move or clone the `vim-colors-solarized` directory so that it is a subdirectory of the `.vim/bundle` directory. a. **Clone:** $ cd ~/.vim/bundle $ git clone git://github.com/altercation/vim-colors-solarized.git b. **Move:** In the parent directory of vim-colors-solarized: $ mv vim-colors-solarized ~/.vim/bundle/ ### Modify .vimrc After either Option 1 or Option 2 above, put the following two lines in your .vimrc: syntax enable set background=dark colorscheme solarized or, for the light background mode of Solarized: syntax enable set background=light colorscheme solarized I like to have a different background in GUI and terminal modes, so I can use the following if-then. However, I find vim's background autodetection to be pretty good and, at least with MacVim, I can leave this background value assignment out entirely and get the same results. if has('gui_running') set background=light else set background=dark endif See the [Solarized homepage] for screenshots which will help you select either the light or dark background. ### IMPORTANT NOTE FOR TERMINAL USERS: If you are going to use Solarized in Terminal mode (i.e. not in a GUI version like gvim or macvim), **please please please** consider setting your terminal emulator's colorscheme to use the Solarized palette. I've included palettes for some popular terminal emulator as well as Xresources in the official Solarized download available from [Solarized homepage]. If you use Solarized *without* these colors, Solarized will need to be told to degrade its colorscheme to a set compatible with the limited 256 terminal palette (whereas by using the terminal's 16 ansi color values, you can set the correct, specific values for the Solarized palette). If you do use the custom terminal colors, solarized.vim should work out of the box for you. If you are using a terminal emulator that supports 256 colors and don't want to use the custom Solarized terminal colors, you will need to use the degraded 256 colorscheme. To do so, simply add the following line *before* the `colorscheme solarized` line: let g:solarized_termcolors=256 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 two lines specified above but does include several other options that can be set in your .vimrc file. Set these in your vimrc file prior to calling the colorscheme. ``` option name default optional ------------------------------------------------ g:solarized_termcolors= 16 | 256 g:solarized_termtrans = 0 | 1 g:solarized_degrade = 0 | 1 g:solarized_bold = 1 | 0 g:solarized_underline = 1 | 0 g:solarized_italic = 1 | 0 g:solarized_contrast = "normal"| "high" or "low" g:solarized_visibility= "normal"| "high" or "low" ------------------------------------------------ ``` ### Option Details * g:solarized_termcolors 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 Xresources. * g:solarized_termtrans If you use a terminal emulator with a transparent background and Solarized isn't displaying the background color transparently, set this to 1 and Solarized will use the default (transparent) background of the terminal emulator. *urxvt* required this in my testing; iTerm2 did not. Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by default as this is almost always the best option. The only exception to this is if the working terminfo file supports 256 colors (xterm-256color). * g:solarized_degrade For test purposes only; forces Solarized to use the 256 degraded color mode to test the approximate color values for accuracy. * g:solarized_bold | g:solarized_underline | g:solarized_italic If you wish to stop Solarized from displaying bold, underlined or italicized typefaces, simply assign a zero value to the appropriate variable, for example: `let g:solarized_italic=0` * g: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. * g: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. Toggle Background Function -------------------------- Solarized comes with a Toggle Background plugin that by default will map to if that mapping is available. If it is not available you will need to either map the function manually or change your current mapping to something else. To set your own mapping in your .vimrc file, simply add the following line to support normal, insert and visual mode usage, changing the "" value to the key or key combination you wish to use: call togglebg#map("") Note that you'll want to use a single function key or equivalent if you want the plugin to work in all modes (normal, insert, visual). Code Notes ---------- Use folding to view the `solarized.vim` script with `foldmethod=marker` turned on. I have attempted to modularize the creation of Vim 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 sixteen values in the GUI section and testing in gvim (or mvim) 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 sRGB 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 #4e4e4e 45 -07 -07 88 110 117 194 25 46 base00 #657b83 11/7 bryellow 241 #585858 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 #d7d7af 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 License ------- 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. ================================================ FILE: vim-colors-solarized/autoload/togglebg.vim ================================================ " Toggle Background " Modified: 2011 Apr 29 " Maintainer: Ethan Schoonover " License: OSI approved MIT license if exists("g:loaded_togglebg") finish endif let g:loaded_togglebg = 1 " noremap is a bit misleading here if you are unused to vim mapping. " in fact, there is remapping, but only of script locally defined remaps, in " this case TogBG. The