]>
Commit | Line | Data |
---|---|---|
1 | " ------------------------------------------------------------------ | |
2 | " Filename: marklar.vim | |
3 | " Last Modified: Nov, 30 2006 (13:01) | |
4 | " Version: 0.5 | |
5 | " Maintainer: SM Smithfield (m_smithfield AT yahoo DOT com) | |
6 | " Copyright: 2006 SM Smithfield | |
7 | " This script is free software; you can redistribute it and/or | |
8 | " modify it under the terms of the GNU General Public License as | |
9 | " published by the Free Software Foundation; either version 2 of | |
10 | " the License, or (at your option) any later version. | |
11 | " Description: Vim colorscheme file. | |
12 | " Install: Put this file in the users colors directory (~/.vim/colors) | |
13 | " then load it with :colorscheme marklar | |
14 | " ------------------------------------------------------------------ | |
15 | ||
16 | hi clear | |
17 | set background=dark | |
18 | if exists("syntax_on") | |
19 | syntax reset | |
20 | endif | |
21 | let g:colors_name = "marklar" | |
22 | ||
23 | if !exists("s:main") | |
24 | ||
25 | " OPTIONS: | |
26 | let s:bold_opt = 0 | |
27 | let s:ignore_opt = 1 | |
28 | ||
29 | function! s:main() | |
30 | if version >= 700 | |
31 | call s:apply_opts() | |
32 | endif | |
33 | ||
34 | if s:bold_opt | |
35 | let s:bold = 'bold' | |
36 | else | |
37 | let s:bold = 'NONE' | |
38 | endif | |
39 | ||
40 | if s:ignore_opt | |
41 | " completely invisible | |
42 | let s:ignore = 'bg' | |
43 | else | |
44 | " nearly invisible | |
45 | let s:ignore = '#467C5C' | |
46 | endif | |
47 | ||
48 | execute "hi Constant guifg=#FFFFFF guibg=NONE ctermfg=7 cterm=NONE" | |
49 | execute "hi Identifier guifg=#38FF56 guibg=NONE gui=".s:bold." ctermfg=8 cterm=bold" | |
50 | execute "hi Statement guifg=#FFFF00 guibg=NONE gui=".s:bold." ctermfg=3 cterm=bold" | |
51 | execute "hi Special guifg=#25B9F8 guibg=bg gui=".s:bold." ctermfg=2 cterm=underline" | |
52 | execute "hi PreProc guifg=#FF80FF guibg=bg gui=NONE ctermfg=2" | |
53 | execute "hi Type guifg=#00FFFF guibg=NONE gui=".s:bold." ctermfg=6 cterm=bold" | |
54 | ||
55 | execute "hi Ignore guifg=".s:ignore." guibg=NONE ctermfg=0" | |
56 | ||
57 | hi Comment guifg=#00BBBB guibg=NONE ctermfg=6 cterm=none | |
58 | hi Cursor guifg=NONE guibg=#FF0000 | |
59 | hi DiffAdd guifg=NONE guibg=#136769 ctermfg=4 ctermbg=7 cterm=NONE | |
60 | hi DiffDelete guifg=NONE guibg=#50694A ctermfg=1 ctermbg=7 cterm=NONE | |
61 | hi DiffChange guifg=fg guibg=#00463c gui=NONE ctermfg=4 ctermbg=2 cterm=NONE | |
62 | hi DiffText guifg=#7CFC94 guibg=#00463c gui=bold ctermfg=4 ctermbg=3 cterm=NONE | |
63 | hi Directory guifg=#25B9F8 guibg=NONE ctermfg=2 | |
64 | hi Error guifg=#FFFFFF guibg=#000000 ctermfg=7 ctermbg=0 cterm=bold | |
65 | hi ErrorMsg guifg=#8eff2e guibg=#204d40 | |
66 | hi FoldColumn guifg=#00BBBB guibg=#204d40 | |
67 | hi Folded guifg=#44DDDD guibg=#204d40 ctermfg=0 ctermbg=8 cterm=bold | |
68 | ||
69 | hi IncSearch guibg=#52891f gui=bold | |
70 | hi LineNr guifg=#38ff56 guibg=#204d40 | |
71 | hi ModeMsg guifg=#FFFFFF guibg=#0000FF ctermfg=7 ctermbg=4 cterm=bold | |
72 | hi MoreMsg guifg=#FFFFFF guibg=#00A261 ctermfg=7 ctermbg=2 cterm=bold | |
73 | hi NonText guifg=#00bbbb guibg=#204d40 | |
74 | hi Normal guifg=#71C293 guibg=#06544a | |
75 | hi Question guifg=#FFFFFF guibg=#00A261 | |
76 | hi Search guifg=NONE guibg=#0f374c ctermfg=3 ctermbg=0 cterm=bold | |
77 | ||
78 | hi SignColumn guifg=#00BBBB guibg=#204d40 | |
79 | hi SpecialKey guifg=#00FFFF guibg=#266955 | |
80 | hi StatusLine guifg=#245748 guibg=#71C293 gui=NONE cterm=reverse | |
81 | hi StatusLineNC guifg=#245748 guibg=#689C7C gui=NONE | |
82 | hi Title guifg=#7CFC94 guibg=NONE gui=bold ctermfg=2 cterm=bold | |
83 | hi Todo guifg=#FFFFFF guibg=#884400 ctermfg=6 ctermbg=4 cterm=NONE | |
84 | hi Underlined guifg=#df820c guibg=NONE gui=underline ctermfg=8 cterm=underline | |
85 | hi Visual guibg=#0B7260 gui=NONE | |
86 | hi WarningMsg guifg=#FFFFFF guibg=#FF0000 ctermfg=7 ctermbg=1 cterm=bold | |
87 | hi WildMenu guifg=#20012e guibg=#00a675 gui=bold ctermfg=NONE ctermbg=NONE cterm=bold | |
88 | " | |
89 | if version >= 700 | |
90 | hi SpellBad guisp=#FF0000 | |
91 | hi SpellCap guisp=#0000FF | |
92 | hi SpellRare guisp=#ff4046 | |
93 | hi SpellLocal guisp=#000000 ctermbg=0 | |
94 | hi Pmenu guifg=#00ffff guibg=#000000 ctermbg=0 ctermfg=6 | |
95 | hi PmenuSel guifg=#ffff00 guibg=#000000 gui=bold cterm=bold ctermfg=3 | |
96 | hi PmenuSbar guibg=#204d40 ctermbg=6 | |
97 | hi PmenuThumb guifg=#38ff56 ctermfg=3 | |
98 | hi CursorColumn guibg=#096354 | |
99 | hi CursorLine guibg=#096354 | |
100 | hi Tabline guifg=bg guibg=fg gui=NONE cterm=reverse,bold ctermfg=NONE ctermbg=NONE | |
101 | hi TablineSel guifg=#20012e guibg=#00a675 gui=bold | |
102 | hi TablineFill guifg=#689C7C | |
103 | hi MatchParen guifg=#38ff56 guibg=#0000ff gui=bold ctermbg=4 | |
104 | endif | |
105 | " | |
106 | hi Tag guifg=#7CFC94 guibg=NONE gui=bold ctermfg=2 cterm=bold | |
107 | hi link Bold Tag | |
108 | " | |
109 | hi pythonPreCondit ctermfg=2 cterm=NONE | |
110 | execute "hi tkWidget guifg=#ffa0a0 guibg=bg gui=".s:bold." ctermfg=7 cterm=bold" | |
111 | endfunction | |
112 | ||
113 | if version >= 700 | |
114 | ||
115 | let s:opts = {'bold': 0, 'ignore': 1} | |
116 | ||
117 | " preserves vim<7 compat, while letting me reuses some code | |
118 | function! s:apply_opts() | |
119 | let s:bold_opt = s:opts['bold'] | |
120 | let s:ignore_opt = s:opts['ignore'] | |
121 | endfunction | |
122 | ||
123 | function! s:print_opts(...) | |
124 | let d = a:000 | |
125 | if len(a:000) == 0 | |
126 | let d = keys(s:opts) | |
127 | endif | |
128 | for k in d | |
129 | echo k.': '.s:opts[k] | |
130 | endfor | |
131 | endfunction | |
132 | ||
133 | function! s:Marklar(...) | |
134 | let args = a:000 | |
135 | if len(args) == 0 | |
136 | call s:print_opts() | |
137 | else | |
138 | while len(args)>0 | |
139 | " take first arg | |
140 | let k = args[0] | |
141 | let args = args[1:] | |
142 | " is it a key? | |
143 | if k =~ '\a\+!' | |
144 | " does it bang? | |
145 | let k = strpart(k,0,strlen(k)-1) | |
146 | let s:opts[k] = !s:opts[k] | |
147 | call s:main() | |
148 | elseif k =~ '\a\+?' | |
149 | " does it quiz? | |
150 | let k = strpart(k,0,strlen(k)-1) | |
151 | call s:print_opts(k) | |
152 | elseif len(args) | |
153 | " is there another arg? | |
154 | " take it | |
155 | let v = args[0] | |
156 | let args = args[1:] | |
157 | " is it legal value? | |
158 | if v == 0 || v == 1 | |
159 | " assign val->key | |
160 | let s:opts[k] = v | |
161 | call s:main() | |
162 | else | |
163 | echoerr "(".v.") Bad value. Expected 0 or 1." | |
164 | endif | |
165 | else | |
166 | endif | |
167 | endwhile | |
168 | endif | |
169 | endfunction | |
170 | command! -nargs=* Marklar :call s:Marklar(<f-args>) | |
171 | endif | |
172 | endif | |
173 | ||
174 | call s:main() |