]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - vim/colors/simon.vim
vim/colors/simon.vim: Add support for GVim.
[config/dotfiles.git] / vim / colors / simon.vim
1 " Vim color scheme.
2 "
3 " Designed for dark and partially transparent terminals with 256 colors. It
4 " works with GVim - however by default GVim doesn't support transparent
5 " backgrounds, thus black is used as background color.
6 "
7 " Tested with xterm and (u)rxvt (both with -256color) and GVim.
8 "
9 " Not all available highlight groups are used at the moment.
10 "
11 " Some new highlight groups are defined which can be used in syntax files, see
12 " "GENERAL ADDITIONS" below. They have to be configured to work.
13 "
14 " Maintainer:  Simon Ruderich <simon@ruderich.org>
15 " Last Change: 2012-06-21
16 " License:     GPL v3+
17
18 " Copyright (C) 2011-2012  Simon Ruderich
19 "
20 " This file is free software: you can redistribute it and/or modify
21 " it under the terms of the GNU General Public License as published by
22 " the Free Software Foundation, either version 3 of the License, or
23 " (at your option) any later version.
24 "
25 " This file is distributed in the hope that it will be useful,
26 " but WITHOUT ANY WARRANTY; without even the implied warranty of
27 " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28 " GNU General Public License for more details.
29 "
30 " You should have received a copy of the GNU General Public License
31 " along with this file.  If not, see <http://www.gnu.org/licenses/>.
32
33
34 " This color scheme only works with 256 colors and in GVim.
35 if &t_Co != 256 && !has('gui_running')
36     echoerr 'Colorscheme "simon" needs 256 colors. Aborting.'
37     finish
38 endif
39
40
41 " This color scheme is (only) designed for a dark background.
42 set background=dark
43 highlight clear
44
45 " :highlight clear resets this variable, so put it after it.
46 let g:colors_name = 'simon'
47
48
49 " GENERAL HIGHLIGHT SETTINGS
50
51 " Normal text (very light gray on default terminal background). ctermbg=NONE
52 " necessary for transparency. GVim doesn't support a transparent background,
53 " thus use black.
54 highlight Normal             ctermfg=252 ctermbg=NONE                           guifg=#d0d0d0 guibg=#000000
55
56 " Comments (violet on default).
57 highlight Comment            ctermfg=135                                        guifg=#af5fff
58 " Constants (light dark red on default).
59 highlight Constant           ctermfg=160                                        guifg=#d70000
60     " Strings, e.g. ".." (dark orange on default).
61     highlight String         ctermfg=208                                        guifg=#ff8700
62     " Characters, e.g. '.' in C (lighter dark orange on default).
63     highlight Character      ctermfg=215                                        guifg=#ffaf5f
64     " Numbers (light magenta on default).
65     highlight Number         ctermfg=207                                        guifg=#ff5fff
66     highlight Float          ctermfg=207                                        guifg=#ff5fff
67 " Identifier (cyan on default). cterm=NONE to prevent bold.
68 highlight Identifier         ctermfg=51              cterm=NONE                 guifg=#00ffff               gui=NONE
69     " Function names, often used for predefined functions (cyan on default).
70     highlight Function       ctermfg=51              cterm=NONE                 guifg=#00ffff               gui=NONE
71 " Statements, e.g. return, continue, etc. (yellow on default).
72 highlight Statement          ctermfg=227             cterm=bold                 guifg=#ffff5f               gui=bold
73 " Preprocessor commands, e.g. #include in cpp (light blue on default).
74 highlight PreProc            ctermfg=63              cterm=bold                 guifg=#5f5fff               gui=bold
75 " Types of variables, e.g. int, long, etc. (light green on default).
76 highlight Type               ctermfg=83              cterm=bold                 guifg=#5fff5f               gui=bold
77     " static, volatile, etc. (lighter green on default).
78     highlight StorageClass   ctermfg=120             cterm=bold                 guifg=#87ff87               gui=bold
79 " Special characters (red on default).
80 highlight Special            ctermfg=160                                        guifg=#d70000
81     " Special characters in a string, e.g. '\n' (red on default).
82     highlight SpecialChar    ctermfg=160                                        guifg=#d70000
83     " Delimiter characters, e.g. braces around function arguments in some
84     " languages (dark red on default).
85     highlight Delimiter      ctermfg=52                                         guifg=#5f0000
86     " Special items inside a comment (light violent on darker violet).
87     highlight SpecialComment ctermfg=135 ctermbg=93                             guifg=#af5fff guibg=#8700ff
88 " (Syntax) Errors (white on red).
89 highlight Error              ctermfg=231 ctermbg=196                            guifg=#ffffff guibg=#ff0000
90 " Todo items and other important stuff (e.g. TODO, XXX, etc.) (black on
91 " yellow).
92 highlight Todo               ctermfg=16  ctermbg=226                            guifg=#000000 guibg=#ffff00
93
94
95 " Additional highlights used by the "GUI", not directly by syntax
96 " highlighting.
97
98 " Columns set with 'colorcolumn' (default on bright violet).
99 highlight ColorColumn                    ctermbg=57                                           guibg=#5f00ff
100 " Cursor color (black on light yellow).
101 highlight Cursor             ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
102 " Cursor color when IME or XIM is on, :h CursorIM (not used, keep in sync with
103 " Cursor).
104 highlight CursorIM           ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
105 " Current cursor column/line (current color on light gray). cterm=NONE to
106 " prevent underlining.
107 highlight CursorColumn                   ctermbg=241 cterm=NONE                 guibg=#626262               gui=NONE
108 highlight CursorLine                     ctermbg=241 cterm=NONE                 guibg=#626262               gui=NONE
109 " Directories in file listings (blue on default).
110 highlight Directory          ctermfg=27              cterm=bold                 guifg=#005fff               gui=bold
111 " Error messages (white on red).
112 highlight ErrorMsg           ctermfg=231 ctermbg=196                            guifg=#ffffff guibg=#ff0000
113 " Fold column, left of number column (lighter yellow on default), ctermbg=NONE
114 " necessary for transparency.
115 highlight FoldColumn         ctermfg=228 ctermbg=NONE                           guifg=#ffff87 guibg=NONE
116 " Current search match during incremental search (black on orange).
117 highlight IncSearch          ctermfg=16  ctermbg=214                            guifg=#000000 guibg=#ffaf00
118 " Line number in line number column (light yellow on default).
119 highlight LineNr             ctermfg=227                                        guifg=#ffff5f
120 " Matching brace/bracket when the cursor is currently on the other one
121 " (default on light green).
122 highlight MatchParen                     ctermbg=40                                           guibg=#00d700
123 " 'showmode' message, e.g. "-- INSERT --" (light gray on default).
124 highlight ModeMsg            ctermfg=247                                        guifg=#9e9e9e
125 " More prompt (:h more-prompt) (light green on default).
126 highlight MoreMsg            ctermfg=119                                        guifg=#87ff5f
127 " Characters which do not really exist in the text (:h NonText) (gray-like
128 " blue on default).
129 highlight NonText            ctermfg=105                                        guifg=#8787ff
130 " Last search pattern for 'hlsearch' (keep in sync with IncSearch).
131 highlight Search             ctermfg=16  ctermbg=214                            guifg=#000000 guibg=#ffaf00
132 " Special characters, e.g. tabs, control characters (e.g. ^K), etc. (light
133 " blue on default).
134 highlight SpecialKey         ctermfg=69                                         guifg=#5f87ff
135 " Spelling mistake (default on light violet).
136 highlight SpellBad                       ctermbg=127                                          guibg=#af00af
137 " Wrong capitalization (default on light blue).
138 highlight SpellCap                       ctermbg=27                                           guibg=#005fff
139 " Status line of the currently active window (bold and reverse).
140 highlight StatusLine                                 cterm=reverse,bold                                     gui=reverse,bold
141 " Status line of inactive windows (reverse).
142 highlight StatusLineNC                               cterm=reverse                                          gui=reverse
143 " Titles in output from :set all, :autocmd, etc. (light blue on default). Also
144 " used by AsciiDoc.
145 highlight Title              ctermfg=63              cterm=bold                 guifg=#5f5fff               gui=bold
146 " Vertical split column (black on default), black to try to hide it
147 " (ctermfg=NONE doesn't work), cterm=NONE is necessary to remove reverse. Also
148 " see my vimrc for a way to hide it completely (the column is still there, but
149 " empty).
150 highlight VertSplit          ctermfg=16              cterm=NONE                 guifg=#000000               gui=NONE
151 " Current visual selection (default on light gray).
152 highlight Visual                         ctermbg=246                                          guibg=#949494
153 " Warning messages (white on orange).
154 highlight WarningMsg         ctermfg=231 ctermbg=166                            guifg=#ffffff guibg=#d75f00
155
156 " Cursor color when language mappings are used, :h lCursor (not used, keep in
157 " sync with Cursor).
158 highlight lCursor            ctermfg=16  ctermbg=227                            guifg=#000000 guibg=#ffff5f
159
160
161 " GENERAL ADDITIONS
162
163 " Tab characters (if 'list' is enabled) to reduce their visibility in
164 " comparison with SpecialKey (darker gray on default).
165 "
166 " Needs matchadd('specialKeyTab', '\t') in vimrc.
167 highlight specialKeyTab      ctermfg=239                                        guifg=#4e4e4e
168
169 " Statement control keywords (e.g. continue, break, return, goto, etc.), extra
170 " syntax item to make them extra visible (keep in sync with Statement, except
171 " underline).
172 "
173 " Needs a modified syntax file or additional rules in after/syntax/.
174 "
175 " For example for C:
176 "
177 "    syntax keyword statementControl continue break return goto
178 "
179 " Or for Perl:
180 "
181 "    highlight link perlStatementControl statementControl
182 highlight statementControl   ctermfg=227             cterm=bold,underline       guifg=#ffff5f               gui=bold,underline