dotman 0.0.3 → 0.0.3.1
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.
- checksums.yaml +4 -4
- data/bin/dot +10 -1
- data/lib/dotman.rb +1 -0
- data/lib/dotman/collect.rb +27 -0
- data/lib/dotman/dotfile_collection.rb +8 -0
- data/lib/dotman/git.rb +0 -1
- data/lib/dotman/version.rb +1 -1
- data/spec/data/Timbinous_dotfiles/.bashrc +121 -0
- data/spec/data/Timbinous_dotfiles/.gitignore +5 -0
- data/spec/data/Timbinous_dotfiles/.tmux.conf +15 -0
- data/spec/data/Timbinous_dotfiles/.vim/autoload/pathogen.vim +245 -0
- data/spec/data/Timbinous_dotfiles/.vim/bundle/.gitkeep +0 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/Black.vim +16 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/Dark.vim +63 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/autumnleaf.vim +154 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/c.vim +32 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/darkzen.vim +25 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb.vim +13 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb.vim~ +13 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb2.vim +59 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb256.vim +32 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb3.vim +23 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grb4.vim +17 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grblight.vim +15 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/grblight.vim~ +14 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/ir_black.vim +212 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/moria.vim +227 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/pyte.vim +92 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/redstring.vim +26 -0
- data/spec/data/Timbinous_dotfiles/.vim/colors/xterm16.vim +811 -0
- data/spec/data/Timbinous_dotfiles/.vim/spell/en.utf-8.add +5 -0
- data/spec/data/Timbinous_dotfiles/.vim/spell/en.utf-8.add.spl +0 -0
- data/spec/data/Timbinous_dotfiles/.vimrc +70 -0
- data/spec/data/Timbinous_dotfiles/.zshrc +62 -0
- data/spec/data/Timbinous_dotfiles/symlinkify +58 -0
- data/spec/data/Timbinous_dotfiles/tim.zsh-theme +29 -0
- data/spec/dotman/collect_spec.rb +59 -0
- data/spec/integration/dotfile_collection_integration_spec.rb +18 -4
- data/spec/integration/git_integration_spec.rb +6 -10
- data/spec/integration/user_integration_spec.rb +12 -5
- data/spec/spec_helper.rb +9 -1
- metadata +63 -2
@@ -0,0 +1,92 @@
|
|
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
|
+
|
@@ -0,0 +1,26 @@
|
|
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
|
@@ -0,0 +1,811 @@
|
|
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
|