]> Tony Duckles's Git Repositories (git.nynim.org) - dotfiles.git/blob - .vim/autoload/airline/themes/solarized16.vim
.vim: Use 'airline' for statusline
[dotfiles.git] / .vim / autoload / airline / themes / solarized16.vim
1 let g:airline#themes#solarized16#palette = {}
2
3 function! airline#themes#solarized16#refresh()
4 """"""""""""""""""""""""""""""""""""""""""""""""
5 " Options
6 """"""""""""""""""""""""""""""""""""""""""""""""
7 let s:background = get(g:, 'airline_solarized16_bg', &background)
8 let s:ansi_colors = get(g:, 'solarized16_termcolors', 16) != 256 && &t_Co >= 16 ? 1 : 0
9 let s:tty = &t_Co == 8
10
11 """"""""""""""""""""""""""""""""""""""""""""""""
12 " Colors
13 """"""""""""""""""""""""""""""""""""""""""""""""
14 " Base colors
15 let s:base03 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 234), 'g': '#002b36'}
16 let s:base02 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 235), 'g': '#073642'}
17 let s:base01 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 240), 'g': '#586e75'}
18 let s:base00 = {'t': s:ansi_colors ? 8 : (s:tty ? '7' : 241), 'g': '#657b83'}
19 let s:base0 = {'t': s:ansi_colors ? 7 : (s:tty ? '7' : 244), 'g': '#839496'}
20 let s:base1 = {'t': s:ansi_colors ? 7 : (s:tty ? '7' : 245), 'g': '#93a1a1'}
21 let s:base2 = {'t': s:ansi_colors ? 7 : (s:tty ? '7' : 254), 'g': '#eee8d5'}
22 let s:base3 = {'t': s:ansi_colors ? 15 : (s:tty ? '7' : 230), 'g': '#fdf6e3'}
23 let s:yellow = {'t': s:ansi_colors ? 11 : (s:tty ? '3' : 136), 'g': '#b58900'}
24 let s:orange = {'t': s:ansi_colors ? 3 : (s:tty ? '1' : 166), 'g': '#cb4b16'}
25 let s:red = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 160), 'g': '#dc322f'}
26 let s:magenta = {'t': s:ansi_colors ? 13 : (s:tty ? '5' : 125), 'g': '#d33682'}
27 let s:violet = {'t': s:ansi_colors ? 5 : (s:tty ? '5' : 61 ), 'g': '#6c71c4'}
28 let s:blue = {'t': s:ansi_colors ? 12 : (s:tty ? '4' : 33 ), 'g': '#268bd2'}
29 let s:cyan = {'t': s:ansi_colors ? 6 : (s:tty ? '6' : 37 ), 'g': '#2aa198'}
30 let s:green = {'t': s:ansi_colors ? 2 : (s:tty ? '2' : 64 ), 'g': '#859900'}
31
32 " Extra colors
33 let s:black = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 16 ), 'g': '#000000'}
34 let s:white = {'t': s:ansi_colors ? 15 : (s:tty ? '7' : 231), 'g': '#ffffff'}
35 let s:darkestgreen = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 22 ), 'g': '#005f00'}
36 let s:darkgreen = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 28 ), 'g': '#008700'}
37 let s:mediumgreen = {'t': s:ansi_colors ? 2 : (s:tty ? '2' : 70 ), 'g': '#5faf00'}
38 let s:brightgreen = {'t': s:ansi_colors ? 10 : (s:tty ? '2' : 148), 'g': '#afd700'}
39 let s:darkestcyan = {'t': s:ansi_colors ? 0 : (s:tty ? '4' : 23 ), 'g': '#005f5f'}
40 let s:mediumcyan = {'t': s:ansi_colors ? 14 : (s:tty ? '4' : 117), 'g': '#87d7ff'}
41 let s:darkestblue = {'t': s:ansi_colors ? 4 : (s:tty ? '4' : 24 ), 'g': '#005f87'}
42 let s:darkblue = {'t': s:ansi_colors ? 4 : (s:tty ? '4' : 31 ), 'g': '#0087af'}
43 let s:darkestred = {'t': s:ansi_colors ? 1 : (s:tty ? '1' : 52 ), 'g': '#5f0000'}
44 let s:darkred = {'t': s:ansi_colors ? 1 : (s:tty ? '1' : 88 ), 'g': '#870000'}
45 let s:mediumred = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 124), 'g': '#af0000'}
46 let s:brightred = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 160), 'g': '#d70000'}
47 let s:brightestred = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 196), 'g': '#ff0000'}
48 let s:darkestpurple = {'t': s:ansi_colors ? 5 : (s:tty ? '5' : 55 ), 'g': '#5f00af'}
49 let s:mediumpurple = {'t': s:ansi_colors ? 5 : (s:tty ? '5' : 98 ), 'g': '#875fd7'}
50 let s:brightpurple = {'t': s:ansi_colors ? 13 : (s:tty ? '5' : 189), 'g': '#d7d7ff'}
51 let s:brightorange = {'t': s:ansi_colors ? 3 : (s:tty ? '3' : 208), 'g': '#ff8700'}
52 let s:brightestorange = {'t': s:ansi_colors ? 3 : (s:tty ? '3' : 214), 'g': '#ffaf00'}
53 let s:gray0 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 233), 'g': '#121212'}
54 let s:gray1 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 235), 'g': '#262626'}
55 let s:gray2 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 236), 'g': '#303030'}
56 let s:gray3 = {'t': s:ansi_colors ? 0 : (s:tty ? '0' : 239), 'g': '#4e4e4e'}
57 let s:gray4 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 240), 'g': '#585858'}
58 let s:gray5 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 241), 'g': '#626262'}
59 let s:gray6 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 244), 'g': '#808080'}
60 let s:gray7 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 245), 'g': '#8a8a8a'}
61 let s:gray8 = {'t': s:ansi_colors ? 7 : (s:tty ? '0' : 247), 'g': '#9e9e9e'}
62 let s:gray9 = {'t': s:ansi_colors ? 7 : (s:tty ? '0' : 250), 'g': '#bcbcbc'}
63 let s:gray10 = {'t': s:ansi_colors ? 7 : (s:tty ? '0' : 252), 'g': '#d0d0d0'}
64
65 """"""""""""""""""""""""""""""""""""""""""""""""
66 " Simple mappings
67 " NOTE: These are easily tweakable mappings. The actual mappings get
68 " the specific gui and terminal colors from the base color dicts.
69 """"""""""""""""""""""""""""""""""""""""""""""""
70 " Normal mode
71 let s:N1 = [s:darkestgreen, s:brightgreen, '']
72 "let s:N2 = [s:cyan, s:darkblue, '']
73 "let s:N3 = [s:base3, s:base01, '']
74 let s:N2 = [s:base3, s:base01, '']
75 let s:N3 = [s:base0, s:base02, '']
76 let s:NF = [s:orange, s:N3[1], '']
77 let s:NW = [s:base3, s:orange, '']
78 let s:NM = [s:base2, s:N3[1], '']
79 let s:NMi = [s:base0, s:base03, '']
80
81 " Insert mode
82 let s:I1 = [s:white, s:blue, 'bold']
83 let s:I2 = s:N2
84 let s:I3 = s:N3
85 let s:IF = s:NF
86 let s:IM = s:NM
87
88 " Visual mode
89 let s:V1 = [s:darkred, s:brightorange, 'bold']
90 let s:V2 = s:N2
91 let s:V3 = s:N3
92 let s:VF = s:NF
93 let s:VM = s:NM
94
95 " Replace mode
96 let s:R1 = [s:white, s:violet, 'bold']
97 let s:R2 = s:N2
98 let s:R3 = s:N3
99 let s:RM = s:NM
100 let s:RF = s:NF
101
102 " Inactive, according to VertSplit in solarized
103 let s:IA = [s:base0, s:base03, '']
104
105 """"""""""""""""""""""""""""""""""""""""""""""""
106 " Actual mappings
107 " WARNING: Don't modify this section unless necessary.
108 """"""""""""""""""""""""""""""""""""""""""""""""
109 let s:NFa = [s:NF[0].g, s:NF[1].g, s:NF[0].t, s:NF[1].t, s:NF[2]]
110 let s:IFa = [s:IF[0].g, s:IF[1].g, s:IF[0].t, s:IF[1].t, s:IF[2]]
111 let s:VFa = [s:VF[0].g, s:VF[1].g, s:VF[0].t, s:VF[1].t, s:VF[2]]
112 let s:RFa = [s:RF[0].g, s:RF[1].g, s:RF[0].t, s:RF[1].t, s:RF[2]]
113
114 let g:airline#themes#solarized16#palette.accents = {
115 \ 'red': s:NFa,
116 \ }
117
118 let g:airline#themes#solarized16#palette.inactive = airline#themes#generate_color_map(
119 \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]],
120 \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]],
121 \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]])
122 let g:airline#themes#solarized16#palette.inactive_modified = {
123 \ 'airline_c': [s:NMi[0].g, '', s:NMi[0].t, '', s:NMi[2]]}
124
125 let g:airline#themes#solarized16#palette.normal = airline#themes#generate_color_map(
126 \ [s:N1[0].g, s:N1[1].g, s:N1[0].t, s:N1[1].t, s:N1[2]],
127 \ [s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]],
128 \ [s:N3[0].g, s:N3[1].g, s:N3[0].t, s:N3[1].t, s:N3[2]])
129
130 let g:airline#themes#solarized16#palette.normal.airline_warning = [
131 \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]]
132
133 let g:airline#themes#solarized16#palette.normal_modified = {
134 \ 'airline_c': [s:NM[0].g, s:NM[1].g,
135 \ s:NM[0].t, s:NM[1].t, s:NM[2]]}
136
137 let g:airline#themes#solarized16#palette.normal_modified.airline_warning =
138 \ g:airline#themes#solarized16#palette.normal.airline_warning
139
140 let g:airline#themes#solarized16#palette.insert = airline#themes#generate_color_map(
141 \ [s:I1[0].g, s:I1[1].g, s:I1[0].t, s:I1[1].t, s:I1[2]],
142 \ [s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]],
143 \ [s:I3[0].g, s:I3[1].g, s:I3[0].t, s:I3[1].t, s:I3[2]])
144
145 let g:airline#themes#solarized16#palette.insert.airline_warning =
146 \ g:airline#themes#solarized16#palette.normal.airline_warning
147
148 let g:airline#themes#solarized16#palette.insert_modified = {
149 \ 'airline_c': [s:IM[0].g, s:IM[1].g,
150 \ s:IM[0].t, s:IM[1].t, s:IM[2]]}
151
152 let g:airline#themes#solarized16#palette.insert_modified.airline_warning =
153 \ g:airline#themes#solarized16#palette.normal.airline_warning
154
155 let g:airline#themes#solarized16#palette.visual = airline#themes#generate_color_map(
156 \ [s:V1[0].g, s:V1[1].g, s:V1[0].t, s:V1[1].t, s:V1[2]],
157 \ [s:V2[0].g, s:V2[1].g, s:V2[0].t, s:V2[1].t, s:V2[2]],
158 \ [s:V3[0].g, s:V3[1].g, s:V3[0].t, s:V3[1].t, s:V3[2]])
159
160 let g:airline#themes#solarized16#palette.visual.airline_warning =
161 \ g:airline#themes#solarized16#palette.normal.airline_warning
162
163 let g:airline#themes#solarized16#palette.visual_modified = {
164 \ 'airline_c': [s:VM[0].g, s:VM[1].g,
165 \ s:VM[0].t, s:VM[1].t, s:VM[2]]}
166
167 let g:airline#themes#solarized16#palette.visual_modified.airline_warning =
168 \ g:airline#themes#solarized16#palette.normal.airline_warning
169
170 let g:airline#themes#solarized16#palette.replace = airline#themes#generate_color_map(
171 \ [s:R1[0].g, s:R1[1].g, s:R1[0].t, s:R1[1].t, s:R1[2]],
172 \ [s:R2[0].g, s:R2[1].g, s:R2[0].t, s:R2[1].t, s:R2[2]],
173 \ [s:R3[0].g, s:R3[1].g, s:R3[0].t, s:R3[1].t, s:R3[2]])
174
175 let g:airline#themes#solarized16#palette.replace.airline_warning =
176 \ g:airline#themes#solarized16#palette.normal.airline_warning
177
178 let g:airline#themes#solarized16#palette.replace_modified = {
179 \ 'airline_c': [s:RM[0].g, s:RM[1].g,
180 \ s:RM[0].t, s:RM[1].t, s:RM[2]]}
181
182 let g:airline#themes#solarized16#palette.replace_modified.airline_warning =
183 \ g:airline#themes#solarized16#palette.normal.airline_warning
184
185 let g:airline#themes#solarized16#palette.tabline = {}
186
187 let g:airline#themes#solarized16#palette.tabline.airline_tab = [
188 \ s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]]
189
190 let g:airline#themes#solarized16#palette.tabline.airline_tabtype = [
191 \ s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]]
192 endfunction
193
194 call airline#themes#solarized16#refresh()
195