2 " Version: 1.2 2007.08.08
3 " Author: Valyaeff Valentin <hhyperr AT gmail DOT com>
6 " Copyright 2007 Valyaeff Valentin
8 " This program is free software: you can redistribute it and/or modify
9 " it under the terms of the GNU General Public License as published by
10 " the Free Software Foundation, either version 3 of the License, or
11 " (at your option) any later version.
13 " This program is distributed in the hope that it will be useful,
14 " but WITHOUT ANY WARRANTY; without even the implied warranty of
15 " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 " GNU General Public License for more details.
18 " You should have received a copy of the GNU General Public License
19 " along with this program. If not, see <http://www.gnu.org/licenses/>.
23 if exists("syntax_on")
26 let g:colors_name="lettuce"
29 augroup Syntax_extensions
31 au Syntax c,cpp,ruby,javascript syn match Operator "[*/%&|!=><^~,.;:?+-]\+" display contains=TOP
32 au Syntax c,cpp syn region cParen matchgroup=Operator transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
33 au Syntax c,cpp syn region cCppParen matchgroup=Operator transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
34 au Syntax c,cpp syn region cBracket matchgroup=Operator transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
35 au Syntax c,cpp syn region cCppBracket matchgroup=Operator transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
36 au Syntax c,cpp syn region cBlock matchgroup=OperatorCurlyBrackets start="{" end="}" transparent fold
37 au Syntax ruby syn match rubyBlockParameter "\%(\%(\<do\>\|{\)\s*\)\@<=|\s*[( ,a-zA-Z0-9_*)]\+\ze\s*|"hs=s+1 display
38 au Syntax ruby syn region rubyCurlyBlock matchgroup=Operator start="{" end="}" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo fold
39 au Syntax ruby syn region rubyParentheses matchgroup=Operator start="(" end=")" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo
40 au Syntax ruby syn region rubySquareBrackets matchgroup=Operator start="\[" end="\]" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo
41 au Syntax javascript syn region javascriptCurlyBrackets matchgroup=Operator start="{" end="}" transparent fold
42 au Syntax javascript syn region javascriptParentheses matchgroup=Operator start="(" end=")" transparent
43 au Syntax javascript syn region javascriptSquareBrackets matchgroup=Operator start="\[" end="\]" transparent
47 if !has("gui_running")
49 hi rubyGlobalVariable cterm=none ctermfg=64
50 hi rubyPredefinedIdentifier cterm=bold ctermfg=64
51 hi def link rubyStringDelimiter String
53 hi Normal cterm=none ctermbg=232 ctermfg=189
54 hi StatusLine cterm=none ctermbg=236 ctermfg=231
55 hi StatusLineNC cterm=none ctermbg=236 ctermfg=103
56 hi User1 cterm=bold ctermbg=236 ctermfg=223
57 hi User2 cterm=none ctermbg=236 ctermfg=240
58 hi VertSplit cterm=none ctermbg=236 ctermfg=103
59 hi TabLine cterm=none ctermbg=236 ctermfg=145
60 hi TabLineFill cterm=none ctermbg=236
61 hi TabLineSel cterm=none ctermbg=240 ctermfg=253
62 hi LineNr cterm=none ctermfg=238
63 hi NonText cterm=bold ctermbg=233 ctermfg=241
64 hi Folded cterm=none ctermbg=234 ctermfg=136
65 hi FoldColumn cterm=none ctermbg=236 ctermfg=103
66 hi SignColumn cterm=none ctermbg=236 ctermfg=103
67 hi CursorColumn cterm=none ctermbg=234
68 hi CursorLine cterm=none ctermbg=234
69 hi IncSearch cterm=bold ctermbg=63 ctermfg=232
70 hi Search cterm=none ctermbg=36 ctermfg=232
71 hi Visual cterm=none ctermbg=24
72 hi WildMenu cterm=bold ctermbg=35 ctermfg=232
73 hi ModeMsg cterm=bold ctermfg=110
74 hi MoreMsg cterm=bold ctermfg=121
75 hi Question cterm=bold ctermfg=121
76 hi ErrorMsg cterm=none ctermbg=88 ctermfg=255
77 hi WarningMsg cterm=none ctermbg=58 ctermfg=255
78 hi SpecialKey cterm=none ctermfg=77
79 hi Title cterm=bold ctermfg=147
80 hi Directory ctermfg=105
81 hi DiffAdd cterm=none ctermbg=18
82 hi DiffChange cterm=none ctermbg=58
83 hi DiffDelete cterm=none ctermbg=52 ctermfg=58
84 hi DiffText cterm=none ctermbg=53
85 hi Pmenu cterm=none ctermbg=17 ctermfg=121
86 hi PmenuSel cterm=none ctermbg=24 ctermfg=121
87 hi PmenuSbar cterm=none ctermbg=19
88 hi PmenuThumb cterm=none ctermbg=37
89 hi MatchParen cterm=bold ctermbg=24
90 hi SpellBad cterm=none ctermbg=88
91 hi SpellCap cterm=none ctermbg=18
92 hi SpellLocal cterm=none ctermbg=30
93 hi SpellRare cterm=none ctermbg=90
95 hi Comment cterm=none ctermfg=138
96 hi Constant cterm=none ctermfg=215
97 hi String cterm=none ctermbg=235 ctermfg=215
98 hi Character cterm=none ctermbg=235 ctermfg=215
99 hi Number cterm=none ctermfg=34
100 hi Float cterm=none ctermfg=41
101 hi Identifier cterm=none ctermfg=186
102 hi Function cterm=none ctermfg=210
103 hi Statement cterm=bold ctermfg=63
104 hi Exception cterm=bold ctermfg=99
105 hi Operator cterm=none ctermfg=75
106 hi Label cterm=none ctermfg=63
107 hi PreProc cterm=bold ctermfg=36
108 hi Type cterm=bold ctermfg=71
109 hi Special cterm=none ctermbg=235 ctermfg=87
110 hi Underlined cterm=underline ctermfg=227
111 hi Ignore cterm=bold ctermfg=235
112 hi Error cterm=bold ctermbg=52 ctermfg=231
113 hi Todo cterm=bold ctermbg=143 ctermfg=16
115 hi OperatorCurlyBrackets cterm=bold ctermfg=75
118 autocmd InsertEnter * hi StatusLine ctermbg=52
119 autocmd InsertEnter * hi User1 ctermbg=52
120 autocmd InsertEnter * hi User2 ctermbg=52
121 autocmd InsertLeave * hi User2 ctermbg=236
122 autocmd InsertLeave * hi User1 ctermbg=236
123 autocmd InsertLeave * hi StatusLine ctermbg=236
124 autocmd CmdwinEnter * hi StatusLine ctermbg=22
125 autocmd CmdwinEnter * hi User1 ctermbg=22
126 autocmd CmdwinEnter * hi User2 ctermbg=22
127 autocmd CmdwinLeave * hi User2 ctermbg=236
128 autocmd CmdwinLeave * hi User1 ctermbg=236
129 autocmd CmdwinLeave * hi StatusLine ctermbg=236
133 hi rubyGlobalVariable gui=none guifg=#5f8700
134 hi rubyPredefinedIdentifier gui=bold guifg=#5f8700
135 hi def link rubyStringDelimiter String
137 hi Normal gui=none guibg=#080808 guifg=#dfdfff
138 hi StatusLine gui=none guibg=#303030 guifg=#ffffff
139 hi StatusLineNC gui=none guibg=#303030 guifg=#8787af
140 hi User1 gui=bold guibg=#303030 guifg=#ffdfaf
141 hi User2 gui=none guibg=#303030 guifg=#585858
142 hi VertSplit gui=none guibg=#303030 guifg=#8787af
143 hi TabLine gui=none guibg=#303030 guifg=#afafaf
144 hi TabLineFill gui=none guibg=#303030
145 hi TabLineSel gui=none guibg=#585858 guifg=#dadada
146 hi LineNr gui=none guifg=#444444
147 hi NonText gui=bold guibg=#121212 guifg=#606060
148 hi Folded gui=none guibg=#1c1c1c guifg=#af8700
149 hi FoldColumn gui=none guibg=#303030 guifg=#8787af
150 hi SignColumn gui=none guibg=#303030 guifg=#8787af
151 hi CursorColumn gui=none guibg=#1c1c1c
152 hi CursorLine gui=none guibg=#1c1c1c
153 hi IncSearch gui=bold guibg=#5f5fff guifg=#080808
154 hi Search gui=none guibg=#00af87 guifg=#080808
155 hi Visual gui=none guibg=#005f87
156 hi WildMenu gui=bold guibg=#00af5f guifg=#080808
157 hi ModeMsg gui=bold guifg=#87afdf
158 hi MoreMsg gui=bold guifg=#87ffaf
159 hi Question gui=bold guifg=#87ffaf
160 hi ErrorMsg gui=none guibg=#870000 guifg=#eeeeee
161 hi WarningMsg gui=none guibg=#5f5f00 guifg=#eeeeee
162 hi SpecialKey gui=none guifg=#5fdf5f
163 hi Title gui=bold guifg=#afafff
164 hi Directory guifg=#8787ff
165 hi DiffAdd gui=none guibg=#000087
166 hi DiffChange gui=none guibg=#5f5f00
167 hi DiffDelete gui=none guibg=#5f0000 guifg=#5f5f00
168 hi DiffText gui=none guibg=#5f005f
169 hi Pmenu gui=none guibg=#00005f guifg=#87ffaf
170 hi PmenuSel gui=none guibg=#005f87 guifg=#87ffaf
171 hi PmenuSbar gui=none guibg=#0000af
172 hi PmenuThumb gui=none guibg=#00afaf
173 hi MatchParen gui=bold guibg=#005f87
174 hi SpellBad gui=none guibg=#870000
175 hi SpellCap gui=none guibg=#000087
176 hi SpellLocal gui=none guibg=#008787
177 hi SpellRare gui=none guibg=#870087
179 hi Comment gui=none guifg=#af8787
180 hi Constant gui=none guifg=#ffaf5f
181 hi String gui=none guibg=#262626 guifg=#ffaf5f
182 hi Character gui=none guibg=#262626 guifg=#ffaf5f
183 hi Number gui=none guifg=#00af00
184 hi Float gui=none guifg=#00df5f
185 hi Identifier gui=none guifg=#dfdf87
186 hi Function gui=none guifg=#ff8787
187 hi Statement gui=bold guifg=#5f5fff
188 hi Exception gui=bold guifg=#875fff
189 hi Operator gui=none guifg=#5fafff
190 hi Label gui=none guifg=#5f5fff
191 hi PreProc gui=bold guifg=#00af87
192 hi Type gui=bold guifg=#5faf5f
193 hi Special gui=none guibg=#262626 guifg=#5fffff
194 hi Underlined gui=underline guifg=#ffff5f
195 hi Ignore gui=bold guifg=#262626
196 hi Error gui=bold guibg=#5f0000 guifg=#ffffff
197 hi Todo gui=bold guibg=#afaf5f guifg=#000000
199 hi OperatorCurlyBrackets gui=bold guifg=#5fafff
202 autocmd InsertEnter * hi StatusLine guibg=#5f0000
203 autocmd InsertEnter * hi User1 guibg=#5f0000
204 autocmd InsertEnter * hi User2 guibg=#5f0000
205 autocmd InsertLeave * hi User2 guibg=#303030
206 autocmd InsertLeave * hi User1 guibg=#303030
207 autocmd InsertLeave * hi StatusLine guibg=#303030
208 autocmd CmdwinEnter * hi StatusLine guibg=#005f00
209 autocmd CmdwinEnter * hi User1 guibg=#005f00
210 autocmd CmdwinEnter * hi User2 guibg=#005f00
211 autocmd CmdwinLeave * hi User2 guibg=#303030
212 autocmd CmdwinLeave * hi User1 guibg=#303030
213 autocmd CmdwinLeave * hi StatusLine guibg=#303030