dotman 0.0.3.3 → 0.0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -0
  3. data/README.md +6 -3
  4. data/bin/dot +4 -9
  5. data/lib/dotman.rb +2 -0
  6. data/lib/dotman/collect.rb +2 -2
  7. data/lib/dotman/dotfile_collection.rb +10 -4
  8. data/lib/dotman/git.rb +1 -1
  9. data/lib/dotman/notification.rb +35 -0
  10. data/lib/dotman/version.rb +1 -1
  11. data/spec/dotman/collect_spec.rb +8 -3
  12. data/spec/integration/dotfile_collection_integration_spec.rb +29 -1
  13. data/spec/integration/user_integration_spec.rb +1 -1
  14. data/spec/spec_helper.rb +23 -2
  15. metadata +4 -60
  16. data/spec/data/Timbinous_dotfiles/.bashrc +0 -121
  17. data/spec/data/Timbinous_dotfiles/.gitignore +0 -5
  18. data/spec/data/Timbinous_dotfiles/.tmux.conf +0 -15
  19. data/spec/data/Timbinous_dotfiles/.vim/autoload/pathogen.vim +0 -245
  20. data/spec/data/Timbinous_dotfiles/.vim/bundle/.gitkeep +0 -0
  21. data/spec/data/Timbinous_dotfiles/.vim/colors/Black.vim +0 -16
  22. data/spec/data/Timbinous_dotfiles/.vim/colors/Dark.vim +0 -63
  23. data/spec/data/Timbinous_dotfiles/.vim/colors/autumnleaf.vim +0 -154
  24. data/spec/data/Timbinous_dotfiles/.vim/colors/c.vim +0 -32
  25. data/spec/data/Timbinous_dotfiles/.vim/colors/darkzen.vim +0 -25
  26. data/spec/data/Timbinous_dotfiles/.vim/colors/grb.vim +0 -13
  27. data/spec/data/Timbinous_dotfiles/.vim/colors/grb.vim~ +0 -13
  28. data/spec/data/Timbinous_dotfiles/.vim/colors/grb2.vim +0 -59
  29. data/spec/data/Timbinous_dotfiles/.vim/colors/grb256.vim +0 -32
  30. data/spec/data/Timbinous_dotfiles/.vim/colors/grb3.vim +0 -23
  31. data/spec/data/Timbinous_dotfiles/.vim/colors/grb4.vim +0 -17
  32. data/spec/data/Timbinous_dotfiles/.vim/colors/grblight.vim +0 -15
  33. data/spec/data/Timbinous_dotfiles/.vim/colors/grblight.vim~ +0 -14
  34. data/spec/data/Timbinous_dotfiles/.vim/colors/ir_black.vim +0 -212
  35. data/spec/data/Timbinous_dotfiles/.vim/colors/moria.vim +0 -227
  36. data/spec/data/Timbinous_dotfiles/.vim/colors/pyte.vim +0 -92
  37. data/spec/data/Timbinous_dotfiles/.vim/colors/redstring.vim +0 -26
  38. data/spec/data/Timbinous_dotfiles/.vim/colors/xterm16.vim +0 -811
  39. data/spec/data/Timbinous_dotfiles/.vim/spell/en.utf-8.add +0 -5
  40. data/spec/data/Timbinous_dotfiles/.vim/spell/en.utf-8.add.spl +0 -0
  41. data/spec/data/Timbinous_dotfiles/.vimrc +0 -70
  42. data/spec/data/Timbinous_dotfiles/.zshrc +0 -62
  43. data/spec/data/Timbinous_dotfiles/symlinkify +0 -58
  44. data/spec/data/Timbinous_dotfiles/tim.zsh-theme +0 -29
@@ -1,227 +0,0 @@
1
- if exists("g:moria_style")
2
- let s:moria_style = g:moria_style
3
- else
4
- let s:moria_style = &background
5
- endif
6
-
7
- if exists("g:moria_fontface")
8
- let s:moria_fontface = g:moria_fontface
9
- else
10
- let s:moria_fontface = "plain"
11
- endif
12
-
13
- execute "command! -nargs=1 Colo let g:moria_style = \"<args>\" | colo moria"
14
-
15
- if s:moria_style == "black" || s:moria_style == "dark" || s:moria_style == "darkslategray"
16
- set background=dark
17
- elseif s:moria_style == "light" || s:moria_style == "white"
18
- set background=light
19
- else
20
- let s:moria_style = &background
21
- endif
22
-
23
- hi clear
24
-
25
- if exists("syntax_on")
26
- syntax reset
27
- endif
28
-
29
- let colors_name = "moria"
30
-
31
- if &background == "dark"
32
- if s:moria_style == "darkslategray"
33
- hi Normal ctermbg=0 ctermfg=7 guibg=#2f4f4f guifg=#d0d0d0 gui=none
34
-
35
- hi CursorColumn guibg=#404040 gui=none
36
- hi CursorLine guibg=#404040 gui=none
37
- hi FoldColumn ctermbg=bg guibg=bg guifg=#9cc5c5 gui=none
38
- hi LineNr guifg=#9cc5c5 gui=none
39
- hi NonText ctermfg=8 guibg=bg guifg=#9cc5c5 gui=bold
40
- hi Pmenu guibg=#75acac guifg=#000000 gui=none
41
- hi PmenuSbar guibg=#538c8c guifg=fg gui=none
42
- hi PmenuThumb guibg=#c5dcdc guifg=bg gui=none
43
- hi SignColumn ctermbg=bg guibg=bg guifg=#9cc5c5 gui=none
44
- hi StatusLine ctermbg=7 ctermfg=0 guibg=#477878 guifg=fg gui=bold
45
- hi StatusLineNC ctermbg=8 ctermfg=0 guibg=#3c6464 guifg=fg gui=none
46
- hi TabLine guibg=#4d8080 guifg=fg gui=underline
47
- hi TabLineFill guibg=#4d8080 guifg=fg gui=underline
48
- hi VertSplit ctermbg=7 ctermfg=0 guibg=#3c6464 guifg=fg gui=none
49
- if version >= 700
50
- hi Visual ctermbg=7 ctermfg=0 guibg=#538c8c gui=none
51
- else
52
- hi Visual ctermbg=7 ctermfg=0 guibg=#538c8c guifg=fg gui=none
53
- endif
54
- hi VisualNOS guibg=bg guifg=#88b9b9 gui=bold,underline
55
-
56
- if s:moria_fontface == "mixed"
57
- hi Folded guibg=#585858 guifg=#c5dcdc gui=bold
58
- else
59
- hi Folded guibg=#585858 guifg=#c5dcdc gui=none
60
- endif
61
- else
62
- if s:moria_style == "dark"
63
- hi Normal ctermbg=0 ctermfg=7 guibg=#2a2a2a guifg=#d0d0d0 gui=none
64
-
65
- hi CursorColumn guibg=#444444 gui=none
66
- hi CursorLine guibg=#444444 gui=none
67
- elseif s:moria_style == "black"
68
- hi Normal ctermbg=0 ctermfg=7 guibg=#000000 guifg=#d0d0d0 gui=none
69
-
70
- hi CursorColumn guibg=#3a3a3a gui=none
71
- hi CursorLine guibg=#3a3a3a gui=none
72
- endif
73
- hi FoldColumn ctermbg=bg guibg=bg guifg=#98a9c9 gui=none
74
- hi LineNr guifg=#98a9c9 gui=none
75
- hi NonText ctermfg=8 guibg=bg guifg=#98a9c9 gui=bold
76
- hi Pmenu guibg=#6f86b3 guifg=#000000 gui=none
77
- hi PmenuSbar guibg=#4e6592 guifg=fg gui=none
78
- hi PmenuThumb guibg=#c1ccdf guifg=bg gui=none
79
- hi SignColumn ctermbg=bg guibg=bg guifg=#98a9c9 gui=none
80
- hi StatusLine ctermbg=7 ctermfg=0 guibg=#3d5074 guifg=fg gui=bold
81
- hi StatusLineNC ctermbg=8 ctermfg=0 guibg=#2c3954 guifg=fg gui=none
82
- hi TabLine guibg=#465c86 guifg=fg gui=underline
83
- hi TabLineFill guibg=#465c86 guifg=fg gui=underline
84
- hi VertSplit ctermbg=7 ctermfg=0 guibg=#2c3954 guifg=fg gui=none
85
- if version >= 700
86
- hi Visual ctermbg=7 ctermfg=0 guibg=#4e6592 gui=none
87
- else
88
- hi Visual ctermbg=7 ctermfg=0 guibg=#4e6592 guifg=fg gui=none
89
- endif
90
- hi VisualNOS guibg=bg guifg=#8498bd gui=bold,underline
91
-
92
- if s:moria_fontface == "mixed"
93
- hi Folded guibg=#585858 guifg=#c1ccdf gui=bold
94
- else
95
- hi Folded guibg=#585858 guifg=#c1ccdf gui=none
96
- endif
97
- endif
98
- hi Cursor guibg=#ffa500 guifg=bg gui=none
99
- hi DiffAdd guibg=#008b00 guifg=fg gui=none
100
- hi DiffChange guibg=#00008b guifg=fg gui=none
101
- hi DiffDelete guibg=#8b0000 guifg=fg gui=none
102
- hi DiffText guibg=#0000cd guifg=fg gui=bold
103
- hi Directory guibg=bg guifg=#1e90ff gui=none
104
- hi ErrorMsg guibg=#ee2c2c guifg=#ffffff gui=bold
105
- hi IncSearch guibg=#e0cd78 guifg=#000000 gui=none
106
- hi ModeMsg guibg=bg guifg=fg gui=bold
107
- hi MoreMsg guibg=bg guifg=#7ec0ee gui=bold
108
- hi PmenuSel guibg=#e0e000 guifg=#000000 gui=none
109
- hi Question guibg=bg guifg=#e8b87e gui=bold
110
- hi Search guibg=#90e090 guifg=#000000 gui=none
111
- hi SpecialKey guibg=bg guifg=#e8b87e gui=none
112
- if has("spell")
113
- hi SpellBad guisp=#ee2c2c gui=undercurl
114
- hi SpellCap guisp=#2c2cee gui=undercurl
115
- hi SpellLocal guisp=#2ceeee gui=undercurl
116
- hi SpellRare guisp=#ee2cee gui=undercurl
117
- endif
118
- hi TabLineSel guibg=bg guifg=fg gui=bold
119
- hi Title ctermbg=0 ctermfg=15 guifg=fg gui=bold
120
- hi WarningMsg guibg=bg guifg=#ee2c2c gui=bold
121
- hi WildMenu guibg=#e0e000 guifg=#000000 gui=bold
122
-
123
- hi Comment guibg=bg guifg=#d0d0a0 gui=none
124
- hi Constant guibg=bg guifg=#87df71 gui=none
125
- hi Error guibg=bg guifg=#ee2c2c gui=none
126
- hi Identifier guibg=bg guifg=#7ee0ce gui=none
127
- hi Ignore guibg=bg guifg=bg gui=none
128
- hi lCursor guibg=#00e700 guifg=#000000 gui=none
129
- hi MatchParen guibg=#008b8b gui=none
130
- hi PreProc guibg=bg guifg=#d7a0d7 gui=none
131
- hi Special guibg=bg guifg=#e8b87e gui=none
132
- hi Todo guibg=#e0e000 guifg=#000000 gui=none
133
- hi Underlined guibg=bg guifg=#00a0ff gui=underline
134
-
135
- if s:moria_fontface == "mixed"
136
- hi Statement guibg=bg guifg=#7ec0ee gui=bold
137
- hi Type guibg=bg guifg=#f09479 gui=bold
138
- else
139
- hi Statement guibg=bg guifg=#7ec0ee gui=none
140
- hi Type guibg=bg guifg=#f09479 gui=none
141
- endif
142
-
143
- hi htmlBold ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold
144
- hi htmlItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=italic
145
- hi htmlUnderline ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=underline
146
- hi htmlBoldItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,italic
147
- hi htmlBoldUnderline ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,underline
148
- hi htmlBoldUnderlineItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,underline,italic
149
- hi htmlUnderlineItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=underline,italic
150
- elseif &background == "light"
151
- if s:moria_style == "light"
152
- hi Normal ctermbg=15 ctermfg=0 guibg=#f0f0f0 guifg=#000000 gui=none
153
-
154
- hi CursorColumn guibg=#d4d4d4 gui=none
155
- hi CursorLine guibg=#d4d4d4 gui=none
156
- elseif s:moria_style == "white"
157
- hi Normal ctermbg=15 ctermfg=0 guibg=#ffffff guifg=#000000 gui=none
158
-
159
- hi CursorColumn guibg=#dbdbdb gui=none
160
- hi CursorLine guibg=#dbdbdb gui=none
161
- endif
162
- hi Cursor guibg=#883400 guifg=bg gui=none
163
- hi DiffAdd guibg=#008b00 guifg=#ffffff gui=none
164
- hi DiffChange guibg=#00008b guifg=#ffffff gui=none
165
- hi DiffDelete guibg=#8b0000 guifg=#ffffff gui=none
166
- hi DiffText guibg=#0000cd guifg=#ffffff gui=bold
167
- hi Directory guibg=bg guifg=#0000f0 gui=none
168
- hi ErrorMsg guibg=#ee2c2c guifg=#ffffff gui=bold
169
- hi FoldColumn ctermbg=bg guibg=bg guifg=#42577d gui=none
170
- hi Folded guibg=#c5c5c5 guifg=#2c3954 gui=bold
171
- hi IncSearch guibg=#ffcd78 gui=none
172
- hi LineNr guifg=#42577d gui=none
173
- hi ModeMsg ctermbg=15 ctermfg=0 guibg=bg guifg=fg gui=bold
174
- hi MoreMsg guibg=bg guifg=#1f3f81 gui=bold
175
- hi NonText ctermfg=8 guibg=bg guifg=#42577d gui=bold
176
- hi Pmenu guibg=#7b91b9 guifg=#000000 gui=none
177
- hi PmenuSbar guibg=#5874a7 guifg=fg gui=none
178
- hi PmenuSel guibg=#ffff00 guifg=#000000 gui=none
179
- hi PmenuThumb guibg=#adbbd3 guifg=fg gui=none
180
- hi Question guibg=bg guifg=#813f11 gui=bold
181
- hi Search guibg=#a0f0a0 gui=none
182
- hi SignColumn ctermbg=bg guibg=bg guifg=#42577d gui=none
183
- hi SpecialKey guibg=bg guifg=#912f11 gui=none
184
- if has("spell")
185
- hi SpellBad guisp=#ee2c2c gui=undercurl
186
- hi SpellCap guisp=#2c2cee gui=undercurl
187
- hi SpellLocal guisp=#008b8b gui=undercurl
188
- hi SpellRare guisp=#ee2cee gui=undercurl
189
- endif
190
- hi StatusLine ctermbg=0 ctermfg=15 guibg=#98a9c9 guifg=fg gui=bold
191
- hi StatusLineNC ctermbg=7 ctermfg=0 guibg=#adbbd3 guifg=fg gui=none
192
- hi TabLine guibg=#b1bed6 guifg=fg gui=underline
193
- hi TabLineFill guibg=#b1bed6 guifg=fg gui=underline
194
- hi TabLineSel guibg=bg guifg=fg gui=bold
195
- hi Title guifg=fg gui=bold
196
- hi VertSplit ctermbg=7 ctermfg=0 guibg=#adbbd3 guifg=fg gui=none
197
- if version >= 700
198
- hi Visual ctermbg=7 ctermfg=0 guibg=#c1ccdf gui=none
199
- else
200
- hi Visual ctermbg=7 ctermfg=0 guibg=#c1ccdf guifg=fg gui=none
201
- endif
202
- hi VisualNOS guibg=bg guifg=#8498bd gui=bold,underline
203
- hi WarningMsg guibg=bg guifg=#ee2c2c gui=bold
204
- hi WildMenu guibg=#ffff00 guifg=fg gui=bold
205
-
206
- hi Comment guibg=bg guifg=#786000 gui=none
207
- hi Constant guibg=bg guifg=#077807 gui=none
208
- hi Error guibg=bg guifg=#ee2c2c gui=none
209
- hi Identifier guibg=bg guifg=#007080 gui=none
210
- hi Ignore guibg=bg guifg=bg gui=none
211
- hi lCursor guibg=#008000 guifg=#ffffff gui=none
212
- hi MatchParen guibg=#00ffff gui=none
213
- hi PreProc guibg=bg guifg=#800090 gui=none
214
- hi Special guibg=bg guifg=#912f11 gui=none
215
- hi Statement guibg=bg guifg=#1f3f81 gui=bold
216
- hi Todo guibg=#ffff00 guifg=fg gui=none
217
- hi Type guibg=bg guifg=#912f11 gui=bold
218
- hi Underlined guibg=bg guifg=#0000cd gui=underline
219
-
220
- hi htmlBold guibg=bg guifg=fg gui=bold
221
- hi htmlItalic guibg=bg guifg=fg gui=italic
222
- hi htmlUnderline guibg=bg guifg=fg gui=underline
223
- hi htmlBoldItalic guibg=bg guifg=fg gui=bold,italic
224
- hi htmlBoldUnderline guibg=bg guifg=fg gui=bold,underline
225
- hi htmlBoldUnderlineItalic guibg=bg guifg=fg gui=bold,underline,italic
226
- hi htmlUnderlineItalic guibg=bg guifg=fg gui=underline,italic
227
- endif
@@ -1,92 +0,0 @@
1
-
2
- set background=light
3
-
4
- hi clear
5
- if exists("syntax_on")
6
- syntax reset
7
- endif
8
-
9
- let colors_name = "pyte"
10
-
11
- if version >= 700
12
- hi CursorLine guibg=#f6f6f6
13
- hi CursorColumn guibg=#eaeaea
14
- hi MatchParen guifg=white guibg=#80a090 gui=bold
15
-
16
- "Tabpages
17
- hi TabLine guifg=black guibg=#b0b8c0 gui=italic
18
- hi TabLineFill guifg=#9098a0
19
- hi TabLineSel guifg=black guibg=#f0f0f0 gui=italic,bold
20
-
21
- "P-Menu (auto-completion)
22
- hi Pmenu guifg=white guibg=#808080
23
- "PmenuSel
24
- "PmenuSbar
25
- "PmenuThumb
26
- endif
27
- "
28
- " Html-Titles
29
- hi Title guifg=#202020 gui=bold
30
- hi Underlined guifg=#202020 gui=underline
31
-
32
-
33
- hi Cursor guifg=black guibg=#b0b4b8
34
- hi lCursor guifg=black guibg=white
35
- hi LineNr guifg=#ffffff guibg=#c0d0e0
36
-
37
- hi Normal guifg=#202020 guibg=#f0f0f0
38
-
39
- hi StatusLine guifg=white guibg=#8090a0 gui=bold,italic
40
- hi StatusLineNC guifg=#506070 guibg=#a0b0c0 gui=italic
41
- hi VertSplit guifg=#a0b0c0 guibg=#a0b0c0 gui=NONE
42
-
43
- hi Folded guifg=#708090 guibg=#c0d0e0
44
-
45
- hi NonText guifg=#c0c0c0 guibg=#e0e0e0
46
- " Kommentare
47
- hi Comment guifg=#a0b0c0 gui=italic
48
-
49
- " Konstanten
50
- hi Constant guifg=#a07040
51
- hi String guifg=#4070a0
52
- hi Number guifg=#40a070
53
- hi Float guifg=#70a040
54
- "hi Statement guifg=#0070e0 gui=NONE
55
- " Python: def and so on, html: tag-names
56
- hi Statement guifg=#007020 gui=bold
57
-
58
-
59
- " HTML: arguments
60
- hi Type guifg=#e5a00d gui=italic
61
- " Python: Standard exceptions, True&False
62
- hi Structure guifg=#007020 gui=italic
63
- hi Function guifg=#06287e gui=italic
64
-
65
- hi Identifier guifg=#5b3674 gui=italic
66
-
67
- hi Repeat guifg=#7fbf58 gui=bold
68
- hi Conditional guifg=#4c8f2f gui=bold
69
-
70
- " Cheetah: #-Symbol, function-names
71
- hi PreProc guifg=#1060a0 gui=NONE
72
- " Cheetah: def, for and so on, Python: Decorators
73
- hi Define guifg=#1060a0 gui=bold
74
-
75
- hi Error guifg=red guibg=white gui=bold,underline
76
- hi Todo guifg=#a0b0c0 guibg=NONE gui=italic,bold,underline
77
-
78
- " Python: %(...)s - constructs, encoding
79
- hi Special guifg=#70a0d0 gui=italic
80
-
81
- hi Operator guifg=#408010
82
-
83
- " color of <TAB>s etc...
84
- hi SpecialKey guifg=#d8a080 guibg=#e8e8e8 gui=italic
85
-
86
- " Diff
87
- hi DiffChange guifg=NONE guibg=#e0e0e0 gui=italic,bold
88
- hi DiffText guifg=NONE guibg=#f0c8c8 gui=italic,bold
89
- hi DiffAdd guifg=NONE guibg=#c0e0d0 gui=italic,bold
90
- hi DiffDelete guifg=NONE guibg=#f0e0b0 gui=italic,bold
91
-
92
-
@@ -1,26 +0,0 @@
1
- " Vim color file
2
- " Maintainer: Connor Berry <connorberry@yahoo.com>
3
- " Last Change: 2006/05/25
4
- " Version: 1.0
5
-
6
- set background=dark
7
- highlight clear
8
- if exists("syntax on")
9
- syntax reset
10
- endif
11
-
12
- let g:colors_name = "redstring"
13
-
14
- highlight Normal term=none ctermfg=grey cterm=none ctermbg=black guifg=white gui=none guibg=black
15
- highlight Comment term=none ctermfg=DarkGrey guifg=DarkGrey
16
- highlight Constant term=none ctermfg=red cterm=none guifg=red gui=none
17
- highlight Special term=none ctermfg=red cterm=bold guifg=red gui=bold
18
- highlight Identifier term=none ctermfg=lightgreen cterm=none guifg=lightgreen gui=none
19
- highlight Statement term=bold ctermfg=cyan cterm=bold guifg=cyan gui=bold
20
- highlight Operator term=bold ctermfg=cyan cterm=bold guifg=cyan gui=bold
21
- highlight PreProc term=bold ctermfg=lightgreen cterm=none guifg=green gui=none
22
- highlight Type term=bold ctermfg=lightgreen cterm=none guifg=lightgreen gui=none
23
- highlight String term=none ctermfg=red cterm=none guifg=red gui=none
24
- highlight Number term=none ctermfg=red cterm=none guifg=red gui=none
25
-
26
- " vim:ts=2:sw=2:et
@@ -1,811 +0,0 @@
1
- " xterm16-v2.43: Vim color scheme file
2
- " Maintainer: Gautam Iyer <gautam@math.uchicago.edu>
3
- " Created: Thu 16 Oct 2003 06:17:47 PM CDT
4
- " Modified: Tue 12 Sep 2006 11:19:35 AM PDT
5
- "
6
- " Adjustable color scheme for GUI/Terminal vim.
7
-
8
- let s:cpo_save = &cpo
9
- set cpo&vim " line continuation is used
10
-
11
- hi clear
12
-
13
- if exists('syntax_on')
14
- syntax reset
15
- endif
16
- let colors_name = 'xterm16'
17
-
18
- " {{{1 Local function definitions
19
- " {{{2 tohex(n): Convert a number to a 2 digit hex
20
- let s:hex = '0123456789abcdef'
21
- function s:tohex( n)
22
- return a:n > 255 ? 'ff' : s:hex[a:n / 16] . s:hex[a:n % 16]
23
- endfunction
24
-
25
- " {{{2 extractRGB( string): Extract r,g,b components from string into s:c1,2,3
26
- function s:extractRGB( string)
27
- if a:string =~ '^#[0-9a-f]\{6\}$'
28
- " Colors in hex values
29
- let s:c1 = '0x' . strpart(a:string, 1, 2)
30
- let s:c2 = '0x' . strpart(a:string, 3, 2)
31
- let s:c3 = '0x' . strpart(a:string, 5, 2)
32
-
33
- elseif a:string =~ '^\d\{3\}$'
34
- " Colors in cterm values
35
- let s:c1 = s:guilevel( a:string[0])
36
- let s:c2 = s:guilevel( a:string[1])
37
- let s:c3 = s:guilevel( a:string[2])
38
-
39
- elseif a:string =~ '^[lmh][0-9]\{6\}'
40
- " Colors in propotions of low / med / high
41
- if exists('s:'.a:string[0])
42
- let l:level = s:{a:string[0]}
43
- let s:c1 = l:level * strpart(a:string, 1, 2) / 50
44
- let s:c2 = l:level * strpart(a:string, 3, 2) / 50
45
- let s:c3 = l:level * strpart(a:string, 5, 2) / 50
46
- else
47
- throw 'xterm16 Error: Use of propotional intensities before absolute intensities'
48
- endif
49
- else
50
- throw 'xterm16 Error: Brightness / color "'. a:string . '" badly formed.'
51
- endif
52
- endfunction
53
-
54
- " {{{2 guilevel(n) : Get the gui intensity of a given cterm intensity
55
- function s:guilevel( n)
56
- return '0x'.s:ccube[2*a:n].s:ccube[2*a:n + 1]
57
- endfunction
58
-
59
- " {{{2 ctermlevel(n) : Get the cterm intensity of a given gui intensity
60
- function s:ctermlevel( n)
61
- " Xterm color cube intensities: 00, 5f, 87, af, d7, ff
62
- " Rxvt color cube: 00, 2a, 55, 7f, aa, d4
63
-
64
- " cinterval should have the terminal intervals.
65
- let l:terml = 0
66
- while l:terml < 5
67
- if a:n < '0x'.s:cinterval[2 * l:terml].s:cinterval[2 * l:terml + 1]
68
- return l:terml
69
- endif
70
-
71
- let l:terml = l:terml + 1
72
- endwhile
73
- return 5
74
- endfunction
75
-
76
- " {{{2 guicolor( r, g, b): Return the gui color with intensities r,g,b
77
- function s:guicolor( r, g, b)
78
- return '#' . s:tohex(a:r) . s:tohex(a:g) . s:tohex(a:b)
79
- endfunction
80
-
81
- " {{{2 ctermcolor( r, g, b): Return the xterm-256 color with intensities r, g, b
82
- function s:ctermcolor( r, g, b)
83
- if a:r == a:g && a:r == a:b
84
- " Use the greyscale ramp. The greyscale ramp starts from color 232
85
- " with grey 8, and procedes in increments of 10 upto grey 238 (0xee)
86
- if a:r <= 4
87
- return 16
88
- elseif a:r <= 243
89
- return (a:r - 4) / 10 + 232
90
- else
91
- " Let's check if the last color in ccube is large enough.
92
- " return (s:termtype == 'xterm' && a:r > 247) ? 231 : 255
93
- let l:l5 = s:guilevel(5)
94
- return ( l:l5 > 0xee && a:r > (l:l5 + 0xee)/2 ) ? 231 : 255
95
- endif
96
- else
97
- " Use the rgb cube.
98
- return s:ctermlevel(a:r) * 36 + s:ctermlevel(a:g) * 6 + s:ctermlevel(a:b) + 16
99
- endif
100
- endfunction
101
-
102
- " {{{2 setcolor( name, r, g, b): Set the script variables gui_name and cterm_name
103
- function s:setcolor( name, r, g, b)
104
- if exists('g:xterm16_'.a:name)
105
- " Use user-defined color settings (from global variable)
106
- call s:extractRGB( g:xterm16_{a:name})
107
-
108
- let s:gui_{a:name} = s:guicolor( s:c1, s:c2, s:c3)
109
- let s:cterm_{a:name} = s:ctermcolor( s:c1, s:c2, s:c3)
110
- else
111
- " Set the GUI / cterm color from r,g,b
112
- let s:gui_{a:name} = s:guicolor( a:r, a:g, a:b)
113
- let s:cterm_{a:name} = ( &t_Co == 256 || has('gui_running') )
114
- \ ? s:ctermcolor( a:r, a:g, a:b) : a:name
115
- endif
116
-
117
- " Add the color to palette
118
- let g:xterm16_palette = g:xterm16_palette . "\n" . s:gui_{a:name} . ', cterm ' . s:cterm_{a:name} . ' : ' . a:name
119
- endfunction
120
-
121
- " {{{2 getcolor( group, globalvar, colorname): if globvar exists, returns that
122
- " color. if not returns the color in cname
123
- function s:getcolor( globvar, cname)
124
- " hopefully someone set ctype before getting here. ctype should either be
125
- " "gui" or "cterm"
126
-
127
- if exists( a:globvar)
128
- if exists( 's:'.s:ctype.'_'.{a:globvar})
129
- return s:{s:ctype}_{{a:globvar}}
130
- else
131
- call s:extractRGB( {a:globvar})
132
- return s:{s:ctype}color( s:c1, s:c2, s:c3)
133
- endif
134
- else
135
- return s:{s:ctype}_{a:cname}
136
- endif
137
- endfunction
138
-
139
- " {{{2 use_guiattr( nattrs, n ): Should s:hi use the n'th attr for GUI hl.
140
- function s:use_guiattr( nattrs, n )
141
- " If guisp is specified in vim6, then don't use any GUI attributes.
142
- " Otherwise use GUI attributes if GUI is running and they are specified.
143
- if !has('gui_running') ||
144
- \ a:nattrs < a:n ||
145
- \ ( v:version < 700 && a:nattrs >= 4 )
146
- " Don't use GUI attributes
147
- return 0
148
- else
149
- " Use GUI attributes
150
- return 1
151
- endif
152
- endfunction
153
-
154
- " {{{2 hi( group, attr, fg, bg): Set the gui/cterm highlighting groups
155
- "
156
- " group - groupname.
157
- " attr - attributes.
158
- " fg/bg color name.
159
- "
160
- " Optionally can call it as
161
- "
162
- " hi( group, attr, fg, bg, guiattr, guifg, guibg, guisp )
163
- "
164
- " where all the gui options are optional. If provided, they override the term
165
- " colors.
166
- function s:hi( group, attr, fg, bg, ...)
167
- if has('gui_running') || &t_Co == 256
168
- " For gui's and 256 color terminals
169
- let l:fg = s:getcolor( 'g:xterm16fg_'.a:group,
170
- \ s:use_guiattr( a:0, 2) ? a:2 : a:fg)
171
- let l:bg = s:getcolor( 'g:xterm16bg_'.a:group,
172
- \ s:use_guiattr( a:0, 3) ? a:3 : a:bg)
173
-
174
- if exists('g:xterm16attr_' . a:group)
175
- let l:attr = g:xterm16attr_{a:group}
176
- else
177
- let l:attr = s:use_guiattr( a:0, 1) ? a:1 : a:attr
178
- endif
179
-
180
- exec 'hi' a:group
181
- \ s:ctype.'='.l:attr
182
- \ s:ctype.'fg='.l:fg
183
- \ s:ctype.'bg='.l:bg
184
-
185
- " Define guisp if specified for the gui (Vim7 upwards only).
186
- if v:version >= 700 && has('gui_running') && a:0 >= 4
187
- let l:sp = s:getcolor( 'g:xterm16sp_'.a:group, a:4 )
188
- exec 'hi' a:group s:ctype.'sp='.l:sp
189
- endif
190
- else
191
- " for consoles / 16 color junkies
192
- exec 'hi' a:group 'cterm='.a:attr 'ctermfg='.a:fg 'ctermbg='.a:bg
193
- endif
194
- endfunction
195
-
196
- " {{{2 set_brightness( default): Set s:brightness based on default
197
- function s:set_brightness( default)
198
- let s:brightness = ( exists('g:xterm16_brightness')
199
- \ && g:xterm16_brightness != 'default') ?
200
- \ g:xterm16_brightness : a:default
201
- if s:colormap == 'allblue'
202
- if s:brightness == 'high'
203
- let s:brightness = '#afafff' " 335
204
- elseif s:brightness == 'med'
205
- let s:brightness = '#8787d7' " 224
206
- elseif s:brightness == 'low'
207
- let s:brightness = '#5f5faf' " 113
208
- endif
209
- elseif s:colormap == 'softlight'
210
- if s:brightness == 'high'
211
- let s:brightness = '#ff87af' " 523
212
- elseif s:brightness == 'med'
213
- let s:brightness = '#d75f87' " 412
214
- elseif s:brightness == 'low'
215
- let s:brightness = '#af5f87' " 312
216
- endif
217
- else
218
- if s:brightness == 'high'
219
- let s:brightness = '#afd7ff' " 345
220
- elseif s:brightness == 'med'
221
- let s:brightness = '#87afd7' " 234
222
- elseif s:brightness == 'low'
223
- let s:brightness = '#5f87af' " 123
224
- endif
225
- endif
226
- endfunction
227
-
228
- " {{{1 Global functions and initialisations.
229
- command! -nargs=* Brightness
230
- \ if Brightness(<f-args>) <bar>
231
- \ colo xterm16 <bar>
232
- \ endif
233
-
234
- " {{{2 Brightness( brightness, colormap)
235
- function! Brightness(...)
236
- if a:0 == 0
237
- echo "Brightness: ".s:brightness.", Colormap: ".s:colormap
238
- return 0
239
- elseif a:0 > 2
240
- echoerr 'Too many arguements.'
241
- return 0
242
- endif
243
-
244
- let g:xterm16_brightness = a:1
245
- if a:0 == 2
246
- let g:xterm16_colormap = a:2
247
- endif
248
-
249
- return 1
250
- endfunction
251
- " }}}1
252
-
253
- try
254
- " {{{1 Setup defaults
255
- " {{{2 set ctype (to cterm / gui) to be the color type
256
- let s:ctype = has('gui_running') ? 'gui' : 'cterm'
257
- " {{{2 Obtain intensity levels of the 6 terminal colors in s:ccube
258
- " The 2ith and 2i+1th charecters in ccube are the hex digits of the
259
- " intensity of the ith (0-5) term level. xterm and rxvt set up the default
260
- " color cube differently, so we have to consider them separately.
261
-
262
- " First check for a user specified color cube.
263
- if exists('g:xterm16_ccube')
264
- let s:ccube = g:xterm16_ccube
265
-
266
- " No user specified color cube given. Try and guess from xterm16_termtype
267
- elseif ( exists('g:xterm16_termtype') && g:xterm16_termtype == 'rxvt') ||
268
- \ ( !exists('g:xterm16_termtype')
269
- \ && &term =~ '^rxvt'
270
- \ && $MRXVT_TABTITLE == "" )
271
- " color cube for "rxvt". Make sure we're not running mrxvt (by
272
- " checking that the MRXVT_TABTITLE variable is empty).
273
- let s:ccube = "002a557faad4"
274
- else
275
- " default to xterm if nothing else is specified.
276
- let s:ccube ="005f87afd7ff"
277
- endif
278
-
279
- " s:cinterval will be the intervals of intensities which get mapped to
280
- " term color i. i.e. colors between 0 -- cinterval(0) have level 0.
281
- " between cinterval(0) -- cinterval(1) have level 1, etc. max level is 5,
282
- " so anything higher than cinterval(4) has level 5.
283
- let s:cinterval = ""
284
- let s:lower = "00"
285
- let s:i = 1
286
- while s:i < 6
287
- let s:upper = s:ccube[2*s:i] . s:ccube[2*s:i + 1]
288
- let s:cinterval = s:cinterval . s:tohex( (('0x'.s:lower) + ('0x'.s:upper))/2 )
289
- let s:lower = s:upper
290
- let s:i = s:i + 1
291
- endwhile
292
-
293
- " {{{2 Get colormap defaults in "s:colormap"
294
- " On a terminal (without 256 colors), use "standard" colormap. Otherwise
295
- " use value from "g:xterm16_colormap" if exists, or "soft" as default.
296
- if !has('gui_running') && &t_Co != 256
297
- let s:colormap = 'standard'
298
- elseif exists('g:xterm16_colormap')
299
- let s:colormap = g:xterm16_colormap
300
- else
301
- " "soft" used to be the default, but "allblue" is much better.
302
- let s:colormap = 'allblue'
303
- endif
304
-
305
- " {{{2 Redefine a few colors for CRT monitors and set brightness
306
- if s:colormap == 'allblue'
307
- call s:set_brightness( '#8787d7' ) " 224
308
- elseif s:colormap == 'softlight'
309
- call s:set_brightness( '#d75f87' ) " 412
310
- elseif exists('g:xterm16_CRTColors')
311
- " "standard" or "soft" colormaps
312
- if s:colormap == 'standard'
313
- let g:xterm16_darkblue = 'h000050'
314
- let g:xterm16_blue = 'h002550'
315
- let g:xterm16_grey = 'm474747'
316
-
317
- unlet! g:xterm16_skyblue g:xterm16_green g:xterm16_bluegreen
318
-
319
- " give the original xterm16 feel
320
- call s:set_brightness( '#80cdff')
321
- else
322
- " "soft" colormap
323
- let g:xterm16_skyblue = 'h003850'
324
- let g:xterm16_green = 'm315000'
325
- let g:xterm16_bluegreen = 'm005031'
326
-
327
- unlet! g:xterm16_darkblue g:xterm16_blue g:xterm16_grey
328
-
329
- " call s:set_brightness ( '245')
330
- " call s:set_brightness('high')
331
- call s:set_brightness('#87d7ff') " 245
332
- endif
333
- else
334
- " "standard" or "soft" colormaps with LCD colors
335
- call s:set_brightness( '#5fafd7') " 134
336
- endif
337
-
338
- unlet! s:c1 s:c2 s:c3
339
- call s:extractRGB(s:brightness)
340
- let s:l = s:c1
341
- let s:m = s:c2
342
- let s:h = s:c3
343
-
344
- " {{{2 Set a bright green cursor on all colormaps except softlight
345
- if !exists('g:xterm16bg_Cursor')
346
- if s:colormap == 'softlight'
347
- let g:xterm16fg_Cursor = '#ffffff'
348
- else
349
- let g:xterm16bg_Cursor = '#00ff00'
350
- endif
351
- endif
352
-
353
- " {{{2 Set the current pallete:
354
- let g:xterm16_palette = 'Current palette (Brightness: '.s:brightness. ', Colormap: '.s:colormap.')'
355
-
356
- " {{{1 Define colors and highlighting groups based on "s:colormap"
357
- let s:cterm_none = 'NONE'
358
- let s:gui_none = 'NONE'
359
-
360
- " Set the background based on the colormap. 'softlight' is the only
361
- " colormap with a light background
362
- if s:colormap == 'softlight'
363
- set bg=light
364
- else
365
- set bg=dark
366
- endif
367
-
368
- if s:colormap == 'standard'
369
- " {{{2 Original colormap. 8 standard colors, and 8 brighter ones.
370
- call s:setcolor( 'black', 0 , 0 , 0 )
371
- call s:setcolor( 'darkred', s:m , 0 , 0 )
372
- call s:setcolor( 'darkgreen', 0 , s:m , 0 )
373
- call s:setcolor( 'darkyellow', s:m , s:m , 0 )
374
- call s:setcolor( 'darkblue', 0 , 0 , s:m )
375
- call s:setcolor( 'darkmagenta', s:m , 0 , s:m )
376
- call s:setcolor( 'darkcyan', 0 , s:m , s:m )
377
- call s:setcolor( 'grey', s:m*44/50, s:m*44/50, s:m*44/50)
378
-
379
- call s:setcolor( 'darkgrey', s:l , s:l , s:l )
380
- call s:setcolor( 'red', s:h , 0 , 0 )
381
- call s:setcolor( 'green', 0 , s:h , 0 )
382
- call s:setcolor( 'yellow', s:h , s:h , 0 )
383
- call s:setcolor( 'blue', 0 , 0 , s:h )
384
- call s:setcolor( 'magenta', s:h , 0 , s:h )
385
- call s:setcolor( 'cyan', 0 , s:h , s:h )
386
- call s:setcolor( 'white', s:h , s:h , s:h )
387
-
388
- " {{{2 Highlighting groups for standard colors
389
- call s:hi( 'Normal' , 'none' , 'grey' , 'black' )
390
-
391
- call s:hi( 'Cursor' , 'none' , 'black' , 'green' )
392
- call s:hi( 'CursorColumn', 'none' , 'none' , 'darkgrey' )
393
- call s:hi( 'CursorLine' , 'none' , 'none' , 'darkgrey' )
394
- call s:hi( 'DiffAdd' , 'none' , 'darkblue' , 'darkgreen' )
395
- call s:hi( 'DiffChange' , 'none' , 'black' , 'darkyellow')
396
- call s:hi( 'DiffDelete' , 'none' , 'darkblue' , 'none' )
397
- call s:hi( 'DiffText' , 'none' , 'darkred' , 'darkyellow')
398
- call s:hi( 'Directory' , 'none' , 'cyan' , 'none' )
399
- call s:hi( 'ErrorMsg' , 'none' , 'white' , 'darkred' )
400
- call s:hi( 'FoldColumn' , 'none' , 'yellow' , 'darkblue' )
401
- call s:hi( 'Folded' , 'none' , 'yellow' , 'darkblue' )
402
- call s:hi( 'IncSearch' , 'none' , 'grey' , 'darkblue' )
403
- call s:hi( 'LineNr' , 'none' , 'yellow' , 'none' )
404
- call s:hi( 'MatchParen' , 'bold' , 'none' , 'none' )
405
- call s:hi( 'MoreMsg' , 'bold' , 'green' , 'none' )
406
- call s:hi( 'NonText' , 'none' , 'blue' , 'none' )
407
- call s:hi( 'Pmenu' , 'none' , 'black' , 'grey' )
408
- call s:hi( 'PmenuSel' , 'none' , 'none' , 'darkblue' )
409
- call s:hi( 'PmenuSbar' , 'none' , 'none' , 'darkgrey' )
410
- call s:hi( 'PmenuThumb' , 'none' , 'none' , 'white' )
411
- call s:hi( 'Question' , 'none' , 'green' , 'none' )
412
- call s:hi( 'Search' , 'none' , 'black' , 'darkcyan' )
413
- call s:hi( 'SignColumn' , 'none' , 'darkmagenta', 'darkgrey' )
414
- call s:hi( 'SpecialKey' , 'none' , 'blue' , 'none' )
415
- call s:hi( 'StatusLine' , 'none' , 'darkblue' , 'grey' )
416
- call s:hi( 'StatusLineNC', 'reverse', 'none' , 'none' )
417
- call s:hi( 'TabLineFill' , 'none' , 'black' , 'darkgrey' )
418
- call s:hi( 'TabLine' , 'none' , 'black' , 'darkgrey' )
419
- call s:hi( 'TabLineSel' , 'bold' , 'none' , 'none' )
420
- call s:hi( 'Title' , 'none' , 'magenta' , 'none' )
421
- call s:hi( 'Visual' , 'none' , 'none' , 'darkblue' )
422
- call s:hi( 'VisualNOS' , 'none' , 'none' , 'darkgrey' )
423
- call s:hi( 'WarningMsg' , 'bold' , 'red' , 'none' )
424
- call s:hi( 'WildMenu' , 'none' , 'darkmagenta', 'darkyellow')
425
-
426
- call s:hi( 'Comment' , 'none' , 'darkred' , 'none' )
427
- call s:hi( 'Constant' , 'none' , 'darkyellow' , 'none' )
428
- call s:hi( 'Error' , 'none' , 'white' , 'red' )
429
- call s:hi( 'Identifier' , 'none' , 'darkcyan' , 'none' )
430
- call s:hi( 'Ignore' , 'none' , 'darkgrey' , 'none' )
431
- call s:hi( 'PreProc' , 'none' , 'blue' , 'none' )
432
- call s:hi( 'Special' , 'none' , 'darkgreen' , 'none' )
433
- call s:hi( 'Statement' , 'none' , 'cyan' , 'none' )
434
- call s:hi( 'Todo' , 'none' , 'black' , 'yellow' )
435
- call s:hi( 'Type' , 'none' , 'green' , 'none' )
436
- call s:hi( 'Underlined' , 'none' , 'darkmagenta', 'none' )
437
-
438
- " {{{2 Spelling highlighting groups.
439
- call s:hi( 'SpellBad' , 'bold,underline', 'none', 'none' ,
440
- \ 'undercurl' , 'none', 'none' ,
441
- \ 'darkred' )
442
- call s:hi( 'SpellCap' , 'bold' , 'none', 'none' ,
443
- \ 'undercurl' , 'none', 'none' ,
444
- \ 'blue' )
445
- call s:hi( 'SpellLocal', 'underline' , 'none', 'none' ,
446
- \ 'undercurl' , 'none', 'none' ,
447
- \ 'cyan' )
448
- call s:hi( 'SpellRare' ,'underline' , 'none', 'none' ,
449
- \ 'undercurl' , 'none', 'none' ,
450
- \ 'darkyellow' )
451
-
452
- " {{{2 Define html highlighting groups for standard colors.
453
- if !exists("g:xterm16_NoHtmlColors")
454
- call s:hi( 'htmlBold', 'none', 'white', 'none', 'bold', 'none')
455
- call s:hi( 'htmlItalic', 'none', 'yellow', 'none', 'italic', 'none')
456
- call s:hi( 'htmlUnderline', 'none', 'darkmagenta', 'none', 'underline', 'none')
457
- call s:hi( 'htmlBoldItalic', 'bold', 'yellow', 'none', 'bold,italic', 'none')
458
- call s:hi( 'htmlBoldUnderline', 'bold', 'magenta', 'none', 'bold,underline', 'none')
459
- call s:hi( 'htmlUnderlineItalic', 'none', 'magenta', 'none', 'underline,italic', 'none')
460
- call s:hi( 'htmlBoldUnderlineItalic', 'bold', 'white', 'none', 'bold,underline,italic', 'none')
461
-
462
- hi! link htmlLink PreProc
463
- endif
464
- " {{{2 Remap darkblue on linux consoles
465
- if !exists("g:xterm16_NoRemap") && &term =~# (exists("g:xterm16_TermRegexp") ? xterm16_TermRegexp : "linux")
466
- hi! link PreProc Underlined
467
- endif
468
- " }}}2
469
- elseif s:colormap == 'soft' || s:colormap == 'softlight'
470
- " {{{2 "soft" / "softlight" colormap.
471
- " Mix and use similar intensity colors. Only drawback is a slightly
472
- " gaudy appearance (which is why I switched to the "allblue"
473
- " colormap).
474
- "
475
- " The "softlight" colormap is a colormap with a whiteish background
476
- " for web hosting or when there's a strong glare ...
477
-
478
- " Background colors common to softlight / soft colormaps
479
- call s:setcolor( 'black' , 0 , 0 , 0 )
480
-
481
- " call s:setcolor( 'grey' , s:l/2 , s:l/2 , s:l/2 )
482
- " call s:setcolor( 'lightgrey' , 2*s:l/3 , 2*s:l/3 , 2*s:l/3 )
483
-
484
- " Foreground colors common to softlight / soft colormaps
485
- call s:setcolor( 'lightbrown' , s:h , s:h/2 , 0 )
486
- call s:setcolor( 'magenta' , s:h*3/4 , 0 , s:h )
487
- call s:setcolor( 'red' , s:h , 0 , 0 )
488
- call s:setcolor( 'yellow' , s:m , s:m , 0 )
489
-
490
- if s:colormap == "soft"
491
- " Background colors for colormap with a dark background
492
- call s:setcolor( 'darkblue' , 0 , 0 , s:l )
493
- call s:setcolor( 'darkcyan' , 0 , s:l , s:l )
494
- call s:setcolor( 'darkred' , s:l , 0 , 0 )
495
- call s:setcolor( 'darkyellow', s:l , s:l , 0 )
496
- call s:setcolor( 'darkgrey' , s:l/3 , s:l/3 , s:l/3 )
497
- call s:setcolor( 'grey' , s:l/2 , s:l/2 , s:l/2 )
498
- call s:setcolor( 'lightgrey' , s:l , s:l , s:l )
499
-
500
- " Foreground colors for colormap with a dark background
501
- call s:setcolor( 'bluegreen' , 0 , s:m , s:m*38/50 )
502
- call s:setcolor( 'cyan' , 0 , s:m , s:m )
503
- call s:setcolor( 'green' , s:m*38/50 , s:m , 0 )
504
- call s:setcolor( 'purple' , s:h*27/50 , s:h*27/50 , s:h )
505
- call s:setcolor( 'skyblue' , 0 , s:h*27/50 , s:h )
506
- call s:setcolor( 'white' , s:m*44/50 , s:m*44/50 , s:m*44/50 )
507
- else
508
- " Background colors for colormap with a light background
509
- call s:setcolor( 'darkblue' , s:l*27/50 , s:l*27/50 , s:l )
510
- call s:setcolor( 'darkcyan' , s:l*27/50 , s:l*38/50 , s:l )
511
- call s:setcolor( 'darkred' , s:l , s:l*27/50 , s:l*27/50 )
512
- call s:setcolor( 'darkyellow', s:l , s:l , s:l*27/50 )
513
- call s:setcolor( 'darkgrey' , s:l*40/50 , s:l*40/50 , s:l*40/50 )
514
- call s:setcolor( 'grey' , s:l*35/50 , s:l*35/50 , s:l*35/50 )
515
- call s:setcolor( 'lightgrey' , s:l*30/50 , s:l*30/50 , s:l*30/50 )
516
-
517
- call s:setcolor( 'white' , s:l*45/50 , s:l*45/50 , s:l*45/50 )
518
-
519
- " Foreground colors for colormap with a light background
520
- call s:setcolor( 'bluegreen' , 0 , s:h , 0 )
521
- call s:setcolor( 'cyan' , 0 , s:h*38/50 , s:h )
522
- call s:setcolor( 'green' , 0 , s:m , 0 )
523
- call s:setcolor( 'purple' , s:h*38/50 , 0 , s:h )
524
- call s:setcolor( 'skyblue' , 0 , 0 , s:h )
525
- endif
526
-
527
- " {{{2 Highlighting groups for "soft" / "softlight" colors.
528
- if s:colormap == 'soft'
529
- " Highlighting groups for dark background
530
- call s:hi( 'Normal' , 'none', 'white' , 'black' )
531
-
532
- call s:hi( 'Cursor' , 'none', 'black' , 'green' )
533
- call s:hi( 'DiffText' , 'none', 'darkred' , 'darkyellow')
534
- call s:hi( 'Error' , 'none', 'white' , 'darkred' )
535
- call s:hi( 'ErrorMsg' , 'none', 'white' , 'darkred' )
536
- call s:hi( 'FoldColumn' , 'none', 'purple' , 'darkgrey' )
537
- call s:hi( 'Folded' , 'none', 'purple' , 'darkgrey' )
538
- call s:hi( 'IncSearch' , 'none', 'yellow' , 'darkblue' )
539
- call s:hi( 'StatusLine' , 'none', 'darkblue' , 'lightgrey' )
540
- call s:hi( 'VisualNOS' , 'none', 'black' , 'darkgrey' )
541
- else
542
- " Highlighting groups for light background
543
- call s:hi( 'Normal' , 'none', 'black' , 'white' )
544
-
545
- call s:hi( 'Cursor' , 'none', 'white' , 'bluegreen' )
546
- call s:hi( 'DiffText' , 'none', 'red' , 'darkyellow')
547
- call s:hi( 'Error' , 'none', 'black' , 'darkred' )
548
- call s:hi( 'ErrorMsg' , 'none', 'white' , 'red' )
549
- call s:hi( 'FoldColumn' , 'none', 'lightgrey', 'darkgrey' )
550
- call s:hi( 'Folded' , 'none', 'black' , 'darkgrey' )
551
- call s:hi( 'IncSearch' , 'none', 'black' , 'darkblue' )
552
- call s:hi( 'StatusLine' , 'none', 'skyblue' , 'lightgrey' )
553
- call s:hi( 'VisualNOS' , 'none', 'white' , 'darkgrey' )
554
- endif
555
-
556
- " Highlighting groups for light / dark background.
557
- call s:hi( 'CursorColumn', 'none', 'none' , 'grey' )
558
- call s:hi( 'CursorLine' , 'none', 'none' , 'grey' )
559
- call s:hi( 'DiffAdd' , 'none', 'lightbrown', 'darkblue' )
560
- call s:hi( 'DiffChange' , 'none', 'black' , 'darkyellow')
561
- call s:hi( 'DiffDelete' , 'none', 'purple' , 'darkblue' )
562
- call s:hi( 'Directory' , 'none', 'cyan' , 'none' )
563
- call s:hi( 'LineNr' , 'none', 'yellow' , 'none' )
564
- call s:hi( 'MatchParen' , 'bold', 'none' , 'none' )
565
- call s:hi( 'MoreMsg' , 'none', 'green' , 'none' )
566
- call s:hi( 'NonText' , 'none', 'yellow' , 'none' )
567
- call s:hi( 'Pmenu' , 'none', 'none' , 'grey' )
568
- call s:hi( 'PmenuSbar' , 'none', 'none' , 'darkgrey' )
569
- call s:hi( 'PmenuSel' , 'none', 'none' , 'darkblue' )
570
- call s:hi( 'PmenuThumb' , 'none', 'none' , 'lightgrey' )
571
- call s:hi( 'Question' , 'none', 'green' , 'none' )
572
- call s:hi( 'Search' , 'none', 'black' , 'darkcyan' )
573
- call s:hi( 'SignColumn' , 'none', 'yellow' , 'darkgrey' )
574
- call s:hi( 'SpecialKey' , 'none', 'yellow' , 'none' )
575
- call s:hi( 'StatusLineNC', 'none', 'black' , 'grey' )
576
- call s:hi( 'TabLineFill' , 'none', 'none' , 'grey' )
577
- call s:hi( 'TabLine' , 'none', 'none' , 'grey' )
578
- call s:hi( 'TabLineSel' , 'bold', 'none' , 'none' )
579
- call s:hi( 'Title' , 'none', 'yellow' , 'none' )
580
- call s:hi( 'VertSplit' , 'none', 'darkgrey' , 'darkgrey' )
581
- call s:hi( 'Visual' , 'none', 'none' , 'darkblue' )
582
- call s:hi( 'WarningMsg' , 'none', 'red' , 'none' )
583
- call s:hi( 'WildMenu' , 'none', 'yellow' , 'none' )
584
-
585
- call s:hi( 'Comment' , 'none', 'red' , 'none' )
586
- call s:hi( 'Constant' , 'none', 'lightbrown', 'none' )
587
- call s:hi( 'Identifier' , 'none', 'cyan' , 'none' )
588
- call s:hi( 'Ignore' , 'none', 'darkgrey' , 'none' )
589
- call s:hi( 'PreProc' , 'none', 'purple' , 'none' )
590
- call s:hi( 'Special' , 'none', 'green' , 'none' )
591
- call s:hi( 'Statement' , 'none', 'skyblue' , 'none' )
592
- call s:hi( 'Todo' , 'none', 'black' , 'darkyellow')
593
- call s:hi( 'Type' , 'none', 'bluegreen' , 'none' )
594
- call s:hi( 'Underlined' , 'none', 'magenta' , 'none' )
595
-
596
- " {{{2 Spelling highlighting groups.
597
- call s:hi( 'SpellBad' , 'bold,underline', 'none', 'darkgrey',
598
- \ 'undercurl' , 'none', 'none' ,
599
- \ 'red' )
600
- call s:hi( 'SpellCap' , 'bold' , 'none', 'darkgrey',
601
- \ 'undercurl' , 'none', 'none' ,
602
- \ 'skyblue' )
603
- call s:hi( 'SpellLocal', 'underline' , 'none', 'darkgrey',
604
- \ 'undercurl' , 'none', 'none' ,
605
- \ 'cyan' )
606
- call s:hi( 'SpellRare' ,'underline' , 'none', 'none' ,
607
- \ 'undercurl' , 'none', 'none' ,
608
- \ 'yellow' )
609
-
610
- " {{{2 Define html highlighting groups for soft colors.
611
- if !exists("g:xterm16_NoHtmlColors")
612
- call s:hi( 'htmlBold', 'none', 'yellow', 'none',
613
- \ 'bold', 'none')
614
- call s:hi( 'htmlItalic', 'none', 'yellow', 'none',
615
- \ 'italic', 'none')
616
- call s:hi( 'htmlUnderline', 'none', 'magenta', 'none',
617
- \ 'underline', 'none')
618
- call s:hi( 'htmlBoldItalic', 'bold', 'yellow', 'none',
619
- \ 'bold,italic', 'none')
620
- call s:hi( 'htmlBoldUnderline', 'bold', 'magenta', 'none',
621
- \ 'bold,underline', 'none')
622
- call s:hi( 'htmlUnderlineItalic', 'bold', 'magenta', 'none',
623
- \ 'underline,italic', 'none')
624
- call s:hi( 'htmlBoldUnderlineItalic', 'bold', 'white', 'none',
625
- \ 'bold,underline,italic', 'none')
626
- endif
627
- " }}}2
628
- elseif s:colormap == 'allblue'
629
- " {{{2 "allblue" colormap. All shades of blue.
630
- " Background colors
631
- call s:setcolor( 'black' , 0 , 0 , 0 )
632
- call s:setcolor( 'darkred' , s:l , 0 , 0 )
633
- call s:setcolor( 'darkcyan' , 0 , s:l , s:l )
634
- call s:setcolor( 'darkblue' , 0 , 0 , s:l )
635
- call s:setcolor( 'darkyellow' , s:l , s:l , 0 )
636
-
637
- " cterm's can do grey's with better accuracy, so use many shades of
638
- " grey for backgrounds instead of the gaudy yellow's etc.
639
- call s:setcolor( 'grey1' , s:l/8 , s:l/8 , s:l/8 )
640
- call s:setcolor( 'grey2' , 2*s:l/8 , 2*s:l/8 , 2*s:l/8 )
641
- call s:setcolor( 'grey3' , 3*s:l/8 , 3*s:l/8 , 3*s:l/8 )
642
- call s:setcolor( 'grey4' , 4*s:l/8 , 4*s:l/8 , 4*s:l/8 )
643
- call s:setcolor( 'grey5' , 5*s:l/8 , 5*s:l/8 , 5*s:l/8 )
644
- " call s:setcolor( 'grey6' , 6*s:l/8 , 6*s:l/8 , 6*s:l/8 )
645
- " call s:setcolor( 'grey7' , 7*s:l/8 , 7*s:l/8 , 7*s:l/8 )
646
- call s:setcolor( 'grey' , s:l , s:l , s:l )
647
-
648
- " Foreground colors:
649
- "
650
- " s:m -- lowest intensity level for fg colors
651
- " s:h -- highest intensity level.
652
- " s:M -- medium intensity (average of the above two)
653
-
654
- let s:M = (s:m + s:h) / 2
655
-
656
- call s:setcolor( 'red' , s:h , 0 , 0 )
657
- call s:setcolor( 'lightbrown' , s:M , s:m , 0 )
658
- call s:setcolor( 'yellow' , s:M , s:M , s:m )
659
- call s:setcolor( 'dirtygreen' , s:m , s:m , 0 )
660
- call s:setcolor( 'green' , s:m , s:M , s:m )
661
- call s:setcolor( 'bluegreen' , 0 , s:M , s:m )
662
- call s:setcolor( 'yellowgreen', s:m , s:M , 0 )
663
- call s:setcolor( 'skyblue' , 0 , s:m , s:M )
664
- call s:setcolor( 'lightblue' , 0 , s:m , s:h )
665
- call s:setcolor( 'cyan' , 0 , s:M , s:M )
666
- call s:setcolor( 'lightcyan' , s:m , s:M , s:M )
667
- call s:setcolor( 'darkpurple' , s:m , 0 , s:h )
668
- call s:setcolor( 'purple' , s:m , s:m , s:M )
669
-
670
- " Unused colors that are pretty reasonable
671
- " call s:setcolor( 'lightred' , s:M , s:m , s:m )
672
- " call s:setcolor( 'bluewhite' , s:M , s:M , s:h )
673
- " call s:setcolor( 'lightpurple', s:m , s:m , s:h )
674
-
675
- " Greys can be done with better accurcy on cterms!
676
- call s:setcolor( 'white' , 48*s:M/50 , 48*s:M/50 , 48*s:M/50 )
677
- call s:setcolor( 'white1' , 40*s:M/50 , 40*s:M/50 , 40*s:M/ 50 )
678
-
679
- unlet s:M
680
-
681
- " {{{2 Highlighting groups for "allblue" colors.
682
- call s:hi( 'Normal' , 'none' , 'white' , 'black' )
683
-
684
- call s:hi( 'Cursor' , 'none' , 'black' , 'green' )
685
- call s:hi( 'CursorColumn' , 'none' , 'none' , 'grey4' )
686
- call s:hi( 'CursorLine' , 'none' , 'none' , 'grey4' )
687
- call s:hi( 'DiffAdd' , 'none' , 'lightbrown' , 'grey2' )
688
- call s:hi( 'DiffChange' , 'none' , 'yellow' , 'grey2' )
689
- call s:hi( 'DiffDelete' , 'none' , 'dirtygreen' , 'grey2' )
690
- call s:hi( 'DiffText' , 'none' , 'yellowgreen' , 'grey2' )
691
- call s:hi( 'Directory' , 'none' , 'lightblue' , 'none' )
692
- call s:hi( 'ErrorMsg' , 'none' , 'white' , 'darkred' )
693
- call s:hi( 'FoldColumn' , 'none' , 'grey4' , 'none' )
694
- call s:hi( 'Folded' , 'none' , 'white1' , 'grey2' )
695
- call s:hi( 'IncSearch' , 'none' , 'white' , 'darkblue' )
696
- call s:hi( 'LineNr' , 'none' , 'yellow' , 'none' )
697
- call s:hi( 'MatchParen' , 'bold' , 'none' , 'none' )
698
- call s:hi( 'ModeMsg' , 'bold' , 'none' , 'none' )
699
- call s:hi( 'MoreMsg' , 'none' , 'green' , 'none' )
700
- call s:hi( 'NonText' , 'none' , 'lightbrown' , 'none' )
701
- call s:hi( 'Pmenu' , 'none' , 'none' , 'grey3' )
702
- call s:hi( 'PmenuSel' , 'none' , 'none' , 'darkblue' )
703
- call s:hi( 'PmenuSbar' , 'none' , 'none' , 'grey2' )
704
- call s:hi( 'PmenuThumb' , 'none' , 'none' , 'grey4' )
705
- call s:hi( 'Question' , 'none' , 'green' , 'none' )
706
- call s:hi( 'Search' , 'none' , 'black' , 'darkcyan' )
707
- call s:hi( 'SignColumn' , 'none' , 'yellow' , 'grey1' )
708
- call s:hi( 'SpecialKey' , 'none' , 'yellow' , 'none' )
709
- call s:hi( 'StatusLineNC' , 'none' , 'grey' , 'grey3' )
710
- call s:hi( 'StatusLine' , 'none' , 'white' , 'grey5' )
711
- call s:hi( 'TabLine' , 'none' , 'none' , 'grey3' )
712
- call s:hi( 'TabLineFill' , 'none' , 'none' , 'grey3' )
713
- call s:hi( 'TabLineSel' , 'bold' , 'none' , 'none' )
714
- call s:hi( 'Title' , 'none' , 'yellow' , 'none' )
715
- call s:hi( 'VertSplit' , 'none' , 'grey3' , 'grey3' )
716
- call s:hi( 'Visual' , 'none' , 'none' , 'darkblue' )
717
- call s:hi( 'VisualNOS' , 'none' , 'none' , 'grey2' )
718
- call s:hi( 'WarningMsg' , 'none' , 'red' , 'none' )
719
- call s:hi( 'WildMenu' , 'none' , 'yellow' , 'none' )
720
-
721
- call s:hi( 'Comment' , 'none' , 'purple' , 'none' )
722
- call s:hi( 'Constant' , 'none' , 'lightcyan' , 'none' )
723
- call s:hi( 'Error' , 'none' , 'red' , 'none' )
724
- call s:hi( 'Identifier' , 'none' , 'cyan' , 'none' )
725
- call s:hi( 'Ignore' , 'none' , 'grey3' , 'none' )
726
- call s:hi( 'PreProc' , 'none' , 'darkpurple' , 'none' )
727
- call s:hi( 'Special' , 'none' , 'bluegreen' , 'none' )
728
- call s:hi( 'Statement' , 'none' , 'skyblue' , 'none' )
729
- call s:hi( 'Todo' , 'none' , 'lightbrown' , 'none' )
730
- call s:hi( 'Type' , 'none' , 'green' , 'none' )
731
- call s:hi( 'Underlined' , 'none' , 'darkpurple' , 'none' )
732
-
733
- " {{{2 Spelling highlighting groups.
734
- "
735
- " The undercurl looks great in gui, so let's use that. For cterm use
736
- " some crappy grey background + bold / etc. Not something that stands
737
- " out too much because there are invariably numerous spelling mistakes
738
- " highlighted in most code.
739
- "
740
- call s:hi( 'SpellBad' , 'bold,underline' , 'none', 'grey2',
741
- \ 'undercurl' , 'none', 'none' , 'red' )
742
- call s:hi( 'SpellCap' , 'bold' , 'none', 'grey2',
743
- \ 'undercurl' , 'none', 'none' , 'skyblue' )
744
- call s:hi( 'SpellLocal' , 'underline' , 'none', 'grey2',
745
- \ 'undercurl' , 'none', 'none' , 'lightcyan' )
746
- call s:hi( 'SpellRare' , 'underline' , 'none', 'none' ,
747
- \ 'undercurl' , 'none', 'none' , 'yellow' )
748
-
749
- " {{{2 Highlighting groups for email.
750
- "
751
- " mailURL links to Constant, which is light cyan. This does not stand
752
- " out well in quoted emails (which is cyan), or regular text. Better
753
- " to use light brown (like the soft colormap).
754
- hi link mailURL Todo
755
-
756
- " {{{2 Define html highlighting groups for "allblue" colors
757
- if !exists("g:xterm16_NoHtmlColors")
758
- call s:hi( 'htmlBold', 'none', 'yellow', 'none', 'bold', 'none')
759
- call s:hi( 'htmlItalic', 'none', 'yellow', 'none', 'italic', 'none')
760
- call s:hi( 'htmlUnderline', 'none', 'darkpurple', 'none', 'underline', 'none')
761
- call s:hi( 'htmlBoldItalic', 'bold', 'yellow', 'none', 'bold,italic', 'none')
762
- call s:hi( 'htmlBoldUnderline', 'bold', 'darkpurple', 'none', 'bold,underline', 'none')
763
- call s:hi( 'htmlUnderlineItalic', 'bold', 'darkpurple', 'none', 'underline,italic', 'none')
764
- call s:hi( 'htmlBoldUnderlineItalic', 'bold', 'white', 'none', 'bold,underline,italic', 'none')
765
- endif
766
- " }}}2
767
- else
768
- throw 'xterm16 Error: Unrecognised colormap "' . s:colormap . '"'
769
- endif
770
- " }}}1
771
- catch /^xterm16 Error:/
772
- " {{{1 Handle internal exceptions.
773
- unlet colors_name
774
-
775
- echohl ErrorMsg
776
- echomsg v:exception
777
- echohl None
778
- " }}}1
779
- finally
780
- " {{{1 Unlet script variables and functions
781
- " Restore compatibility options
782
- let &cpo = s:cpo_save
783
- unlet! s:c1 s:c2 s:c3
784
- unlet! s:i s:lower s:upper s:ccube s:cinterval
785
- unlet! s:cpo_save s:hex s:l s:m s:h s:cterm_none s:gui_none
786
-
787
- " Delete colors of "standard" colormap
788
- unlet! s:gui_black s:gui_darkred s:gui_darkgreen s:gui_darkyellow s:gui_darkblue s:gui_darkmagenta s:gui_darkcyan s:gui_grey s:gui_darkgrey s:gui_red s:gui_green s:gui_yellow s:gui_blue s:gui_magenta s:gui_cyan s:gui_white
789
- unlet! s:cterm_black s:cterm_darkred s:cterm_darkgreen s:cterm_darkyellow s:cterm_darkblue s:cterm_darkmagenta s:cterm_darkcyan s:cterm_grey s:cterm_darkgrey s:cterm_red s:cterm_green s:cterm_yellow s:cterm_blue s:cterm_magenta s:cterm_cyan s:cterm_white
790
-
791
- " Delete extra colors of "soft" colormap
792
- unlet! s:gui_lightbrown s:gui_bluegreen s:gui_skyblue s:gui_purple
793
- unlet! s:cterm_lightbrown s:cterm_bluegreen s:cterm_skyblue s:cterm_purple
794
-
795
- " Delete extra colors from "allblue" colormap
796
- unlet! s:gui_darkcyan s:gui_darkblue s:gui_grey1 s:gui_grey2 s:gui_grey3 s:gui_grey4 s:gui_grey5 s:gui_white1 s:gui_dirtygreen s:gui_yellowgreen s:gui_lightblue s:gui_lightcyan s:gui_darkpurple
797
- unlet! s:cterm_darkcyan s:cterm_darkblue s:cterm_grey1 s:cterm_grey2 s:cterm_grey3 s:cterm_grey4 s:cterm_grey5 s:cterm_white1 s:cterm_dirtygreen s:cterm_yellowgreen s:cterm_lightblue s:cterm_lightcyan s:cterm_darkpurple
798
-
799
- delfunction s:tohex
800
- delfunction s:extractRGB
801
- delfunction s:guilevel
802
- delfunction s:ctermlevel
803
- delfunction s:guicolor
804
- delfunction s:ctermcolor
805
- delfunction s:setcolor
806
- delfunction s:getcolor
807
- delfunction s:use_guiattr
808
- delfunction s:hi
809
- delfunction s:set_brightness
810
- " }}}1
811
- endtry