dotman 0.0.3.3 → 0.0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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