|
| 1 | +" ============================================================================= |
| 2 | +" URL: https://github.com/sainnhe/sonokai/ |
| 3 | +" Filename: autoload/airline/themes/sonokai.vim |
| 4 | +" Author: Sainnhepark |
| 5 | + |
| 6 | +" License: MIT License |
| 7 | +" ============================================================================= |
| 8 | + |
| 9 | +"{{{Palette |
| 10 | +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} |
| 11 | + |
| 12 | +if get(g:, 'sonokai_style', 'default') ==# 'default' |
| 13 | + if &background ==# 'dark' |
| 14 | + let s:foreground = [ '#c5cdd9', 250 ] |
| 15 | + let s:background = [ '#2c2e34', 235 ] |
| 16 | + let s:background_alt = [ '#30323a', 236 ] |
| 17 | + let s:background_grey = [ '#414550', 238 ] |
| 18 | + let s:red_sel = [ '#f27a7a', 203 ] |
| 19 | + let s:purple_sel = [ '#d798e9', 176 ] |
| 20 | + let s:green_sel = [ '#a0c582', 107 ] |
| 21 | + let s:blue_sel = [ '#75b8eb', 110 ] |
| 22 | + let s:red_fg = [ '#f27a7a', 203 ] |
| 23 | + let s:purple_fg = [ '#d798e9', 176 ] |
| 24 | + let s:green_fg = [ '#a0c582', 107 ] |
| 25 | + let s:blue_fg = [ '#75b8eb', 110 ] |
| 26 | + else |
| 27 | + let s:foreground = [ '#4b505b', 241 ] |
| 28 | + let s:background = [ '#fafafa', 231 ] |
| 29 | + let s:background_alt = [ '#eef1f4', 255 ] |
| 30 | + let s:background_grey = [ '#dde2e7', 253 ] |
| 31 | + let s:red_sel = [ '#e17373', 167 ] |
| 32 | + let s:purple_sel = [ '#bf75d6', 134 ] |
| 33 | + let s:green_sel = [ '#76af6f', 107 ] |
| 34 | + let s:blue_sel = [ '#6996e0', 68 ] |
| 35 | + let s:red_fg = [ '#d15f5f', 167 ] |
| 36 | + let s:purple_fg = [ '#b05ccc', 134 ] |
| 37 | + let s:green_fg = [ '#608e32', 107 ] |
| 38 | + let s:blue_fg = [ '#5079be', 68 ] |
| 39 | + endif |
| 40 | +elseif get(g:, 'sonokai_style', 'default') ==# 'proton' |
| 41 | + if &background ==# 'dark' |
| 42 | + let s:foreground = [ '#c5cdd9', 250 ] |
| 43 | + let s:background = [ '#2b2d37', 235 ] |
| 44 | + let s:background_alt = [ '#2f323e', 236 ] |
| 45 | + let s:background_grey = [ '#404455', 238 ] |
| 46 | + let s:red_sel = [ '#f27a7a', 203 ] |
| 47 | + let s:purple_sel = [ '#d798e9', 176 ] |
| 48 | + let s:green_sel = [ '#a0c582', 107 ] |
| 49 | + let s:blue_sel = [ '#75b8eb', 110 ] |
| 50 | + let s:red_fg = [ '#f27a7a', 203 ] |
| 51 | + let s:purple_fg = [ '#d798e9', 176 ] |
| 52 | + let s:green_fg = [ '#a0c582', 107 ] |
| 53 | + let s:blue_fg = [ '#75b8eb', 110 ] |
| 54 | + else |
| 55 | + let s:foreground = [ '#4b505b', 241 ] |
| 56 | + let s:background = [ '#fafafa', 231 ] |
| 57 | + let s:background_alt = [ '#eef2f6', 255 ] |
| 58 | + let s:background_grey = [ '#dde4ea', 253 ] |
| 59 | + let s:red_sel = [ '#e17373', 167 ] |
| 60 | + let s:purple_sel = [ '#bf75d6', 134 ] |
| 61 | + let s:green_sel = [ '#76af6f', 107 ] |
| 62 | + let s:blue_sel = [ '#6996e0', 68 ] |
| 63 | + let s:red_fg = [ '#d15f5f', 167 ] |
| 64 | + let s:purple_fg = [ '#b05ccc', 134 ] |
| 65 | + let s:green_fg = [ '#608e32', 107 ] |
| 66 | + let s:blue_fg = [ '#5079be', 68 ] |
| 67 | + endif |
| 68 | +elseif get(g:, 'sonokai_style', 'default') ==# 'neon' |
| 69 | + if &background ==# 'dark' |
| 70 | + let s:foreground = [ '#c5cdd9', 250 ] |
| 71 | + let s:background = [ '#2b2d3a', 235 ] |
| 72 | + let s:background_alt = [ '#2f3242', 236 ] |
| 73 | + let s:background_grey = [ '#3f445b', 238 ] |
| 74 | + let s:red_sel = [ '#f27a7a', 203 ] |
| 75 | + let s:purple_sel = [ '#d798e9', 176 ] |
| 76 | + let s:green_sel = [ '#a0c582', 107 ] |
| 77 | + let s:blue_sel = [ '#75b8eb', 110 ] |
| 78 | + let s:red_fg = [ '#f27a7a', 203 ] |
| 79 | + let s:purple_fg = [ '#d798e9', 176 ] |
| 80 | + let s:green_fg = [ '#a0c582', 107 ] |
| 81 | + let s:blue_fg = [ '#75b8eb', 110 ] |
| 82 | + else |
| 83 | + let s:foreground = [ '#4b505b', 241 ] |
| 84 | + let s:background = [ '#fafafa', 231 ] |
| 85 | + let s:background_alt = [ '#eef2f6', 255 ] |
| 86 | + let s:background_grey = [ '#dde4ea', 253 ] |
| 87 | + let s:red_sel = [ '#e17373', 167 ] |
| 88 | + let s:purple_sel = [ '#bf75d6', 134 ] |
| 89 | + let s:green_sel = [ '#76af6f', 107 ] |
| 90 | + let s:blue_sel = [ '#6996e0', 68 ] |
| 91 | + let s:red_fg = [ '#d15f5f', 167 ] |
| 92 | + let s:purple_fg = [ '#b05ccc', 134 ] |
| 93 | + let s:green_fg = [ '#608e32', 107 ] |
| 94 | + let s:blue_fg = [ '#5079be', 68 ] |
| 95 | + endif |
| 96 | +endif |
| 97 | +"}}} |
| 98 | + |
| 99 | +"{{{Definition |
| 100 | +let s:accents = s:red_fg |
| 101 | + |
| 102 | +let s:normal_side_fg = s:background |
| 103 | +let s:normal_side_bg = s:purple_sel |
| 104 | +let s:normal_sub_fg = s:foreground |
| 105 | +let s:normal_sub_bg = s:background_grey |
| 106 | +let s:normal_mid_fg = s:foreground |
| 107 | +let s:normal_mid_bg = s:background_alt |
| 108 | +let s:normal_mod_fg = s:purple_fg |
| 109 | +let s:normal_mod_bg = s:background_alt |
| 110 | + |
| 111 | +let s:insert_side_fg = s:background |
| 112 | +let s:insert_side_bg = s:blue_sel |
| 113 | +let s:insert_sub_fg = s:foreground |
| 114 | +let s:insert_sub_bg = s:background_grey |
| 115 | +let s:insert_mid_fg = s:foreground |
| 116 | +let s:insert_mid_bg = s:background_alt |
| 117 | +let s:insert_mod_fg = s:blue_fg |
| 118 | +let s:insert_mod_bg = s:background_alt |
| 119 | + |
| 120 | +let s:visual_side_fg = s:background |
| 121 | +let s:visual_side_bg = s:red_sel |
| 122 | +let s:visual_sub_fg = s:foreground |
| 123 | +let s:visual_sub_bg = s:background_grey |
| 124 | +let s:visual_mid_fg = s:foreground |
| 125 | +let s:visual_mid_bg = s:background_alt |
| 126 | +let s:visual_mod_fg = s:red_fg |
| 127 | +let s:visual_mod_bg = s:background_alt |
| 128 | + |
| 129 | +let s:replace_side_fg = s:background |
| 130 | +let s:replace_side_bg = s:green_sel |
| 131 | +let s:replace_sub_fg = s:foreground |
| 132 | +let s:replace_sub_bg = s:background_grey |
| 133 | +let s:replace_mid_fg = s:foreground |
| 134 | +let s:replace_mid_bg = s:background_alt |
| 135 | +let s:replace_mod_fg = s:green_fg |
| 136 | +let s:replace_mod_bg = s:background_alt |
| 137 | + |
| 138 | +let s:inactive_side_fg = s:background |
| 139 | +let s:inactive_side_bg = s:background_grey |
| 140 | +let s:inactive_sub_fg = s:foreground |
| 141 | +let s:inactive_sub_bg = s:background_grey |
| 142 | +let s:inactive_mid_fg = s:foreground |
| 143 | +let s:inactive_mid_bg = s:background_alt |
| 144 | +let s:inactive_mod_fg = s:foreground |
| 145 | +let s:inactive_mod_bg = s:background_alt |
| 146 | +"}}} |
| 147 | + |
| 148 | +"{{{Implementation |
| 149 | +let g:airline#themes#sonokai#palette = {} |
| 150 | +let g:airline#themes#sonokai#palette.accents = { |
| 151 | + \ 'red': [ s:accents[0] , '' , s:accents[1] , '' , '' ], |
| 152 | + \ } |
| 153 | + |
| 154 | +" Normal mode |
| 155 | +let s:N1 = [ s:normal_side_fg[0] , s:normal_side_bg[0] , s:normal_side_fg[1] , s:normal_side_bg[1] ] |
| 156 | +let s:N2 = [ s:normal_sub_fg[0] , s:normal_sub_bg[0] , s:normal_sub_fg[1] , s:normal_sub_bg[1] ] |
| 157 | +let s:N3 = [ s:normal_mid_fg[0] , s:normal_mid_bg[0] , s:normal_mid_fg[1] , s:normal_mid_bg[1] ] |
| 158 | + |
| 159 | +let g:airline#themes#sonokai#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) |
| 160 | +let g:airline#themes#sonokai#palette.normal_modified = { |
| 161 | + \ 'airline_c': [ s:normal_mod_fg[0] , s:normal_mod_bg[0] , s:normal_mod_fg[1] , s:normal_mod_bg[1] ] , |
| 162 | + \ } |
| 163 | + |
| 164 | +" Insert mode |
| 165 | +let s:I1 = [ s:insert_side_fg[0] , s:insert_side_bg[0] , s:insert_side_fg[1] , s:insert_side_bg[1] ] |
| 166 | +let s:I2 = [ s:insert_sub_fg[0] , s:insert_sub_bg[0] , s:insert_sub_fg[1] , s:insert_sub_bg[1] ] |
| 167 | +let s:I3 = [ s:insert_mid_fg[0] , s:insert_mid_bg[0] , s:insert_mid_fg[1] , s:insert_mid_bg[1] ] |
| 168 | + |
| 169 | +let g:airline#themes#sonokai#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) |
| 170 | +let g:airline#themes#sonokai#palette.insert_modified = { |
| 171 | + \ 'airline_c': [ s:insert_mod_fg[0] , s:insert_mod_bg[0] , s:insert_mod_fg[1] , s:insert_mod_bg[1] ] , |
| 172 | + \ } |
| 173 | + |
| 174 | +" Replace mode |
| 175 | +let s:R1 = [ s:replace_side_fg[0] , s:replace_side_bg[0] , s:replace_side_fg[1] , s:replace_side_bg[1] ] |
| 176 | +let s:R2 = [ s:replace_sub_fg[0] , s:replace_sub_bg[0] , s:replace_sub_fg[1] , s:replace_sub_bg[1] ] |
| 177 | +let s:R3 = [ s:replace_mid_fg[0] , s:replace_mid_bg[0] , s:replace_mid_fg[1] , s:replace_mid_bg[1] ] |
| 178 | + |
| 179 | +let g:airline#themes#sonokai#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) |
| 180 | +let g:airline#themes#sonokai#palette.replace_modified = { |
| 181 | + \ 'airline_c': [ s:replace_mod_fg[0] , s:replace_mod_bg[0] , s:replace_mod_fg[1] , s:replace_mod_bg[1] ] , |
| 182 | + \ } |
| 183 | + |
| 184 | +" Visual mode |
| 185 | +let s:V1 = [ s:visual_side_fg[0] , s:visual_side_bg[0] , s:visual_side_fg[1] , s:visual_side_bg[1] ] |
| 186 | +let s:V2 = [ s:visual_sub_fg[0] , s:visual_sub_bg[0] , s:visual_sub_fg[1] , s:visual_sub_bg[1] ] |
| 187 | +let s:V3 = [ s:visual_mid_fg[0] , s:visual_mid_bg[0] , s:visual_mid_fg[1] , s:visual_mid_bg[1] ] |
| 188 | + |
| 189 | +let g:airline#themes#sonokai#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) |
| 190 | +let g:airline#themes#sonokai#palette.visual_modified = { |
| 191 | + \ 'airline_c': [ s:visual_mod_fg[0] , s:visual_mod_bg[0] , s:visual_mod_fg[1] , s:visual_mod_bg[1] ] , |
| 192 | + \ } |
| 193 | + |
| 194 | +" Inactive |
| 195 | +let s:IA1 = [ s:inactive_side_fg[0] , s:inactive_side_bg[0] , s:inactive_side_fg[1] , s:inactive_side_bg[1] ] |
| 196 | +let s:IA2 = [ s:inactive_sub_fg[0] , s:inactive_sub_bg[0] , s:inactive_sub_fg[1] , s:inactive_sub_bg[1] ] |
| 197 | +let s:IA3 = [ s:inactive_mid_fg[0] , s:inactive_mid_bg[0] , s:inactive_mid_fg[1] , s:inactive_mid_bg[1] ] |
| 198 | + |
| 199 | +let g:airline#themes#sonokai#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) |
| 200 | +let g:airline#themes#sonokai#palette.inactive_modified = { |
| 201 | + \ 'airline_c': [ s:inactive_mod_fg[0] , s:inactive_mod_bg[0] , s:inactive_mod_fg[1] , s:inactive_mod_bg[1] ] , |
| 202 | + \ } |
| 203 | +"}}} |
| 204 | + |
0 commit comments