175 lines
8.0 KiB
VimL
175 lines
8.0 KiB
VimL
" Name: Solarized Flood
|
|
" Changed: June 3 2018
|
|
" Maintainer: https://github.com/Neur1n
|
|
" Description:
|
|
" A vim-airline theme made based on and tested with the Solarized colorscheme
|
|
" (https://github.com/frankier/neovim-colors-solarized-truecolor-only) in
|
|
" Windows 10 OS and GVim 8.1.
|
|
"
|
|
" This script is based on the 'dark' theme. The 'inactive' and 'ctrlp' parts
|
|
" were not changed.
|
|
"
|
|
" It is call 'flood' since the statusline and the tabline will be highlighted
|
|
" with the 'base03' color in Solarized (dark). If you use the dark Solarized
|
|
" colorscheme for Vim and, in Windows, set 'Personalization-Colors-Choose
|
|
" your color - Custom color' to be '#002B36' (*), then most parts of the GVim
|
|
" window will be 'flooded' with the color.
|
|
" NOTE: This will make some components of the airline less distinguishable
|
|
" from the others. If anyone has better ideas, I will be happy to take
|
|
" a conversation with you. :)
|
|
|
|
" (*): Your PC may not support the exact color but it will pick the nearest
|
|
" color for you and it should work fine.
|
|
|
|
|
|
scriptencoding utf-8
|
|
|
|
" The following color definitions:
|
|
" 'hex': originated from official solarized (dark) colors
|
|
" 'term': calculated by 'x256' package of Python
|
|
" '*': 'term' value that is different with solarized official definition
|
|
" '#': picked manually
|
|
let s:base03 = {'hex': '#002B36', 'term': 234} " 0, 43, 54
|
|
let s:base02 = {'hex': '#073642', 'term': 235} " 7, 54, 66
|
|
let s:base01 = {'hex': '#586E75', 'term': 242} " 88, 110, 117 *
|
|
let s:base00 = {'hex': '#657B83', 'term': 66} " 101, 123, 131 *
|
|
|
|
let s:base0 = {'hex': '#839496', 'term': 246} " 131, 148, 150 *
|
|
let s:base1 = {'hex': '#93A1A1', 'term': 247} " 147, 161, 161 *
|
|
let s:base2 = {'hex': '#EEE8D5', 'term': 254} " 238, 232, 213
|
|
let s:base3 = {'hex': '#FDF6E3', 'term': 230} " 253, 246, 227
|
|
|
|
let s:yellow = {'hex': '#B58900', 'term': 136} " 181, 137, 0
|
|
let s:orange = {'hex': '#CB4B16', 'term': 166} " 203, 75, 22
|
|
let s:red = {'hex': '#DC322F', 'term': 160} " 220, 50, 47 *
|
|
let s:magenta = {'hex': '#D33682', 'term': 168} " 211, 54, 130 *
|
|
let s:violet = {'hex': '#6C71C4', 'term': 62} " 108, 113, 196 *
|
|
let s:blue = {'hex': '#268BD2', 'term': 32} " 38, 139, 210 *
|
|
let s:cyan = {'hex': '#2AA198', 'term': 36} " 42, 161, 152 *
|
|
let s:green = {'hex': '#859900', 'term': 106} " 133, 153, 0 #
|
|
|
|
let g:airline#themes#solarized_flood#palette = {}
|
|
|
|
|
|
" *****************************************************************************
|
|
" Normal Mode
|
|
" *****************************************************************************
|
|
let s:airline_a_normal = [s:base03['hex'], s:green['hex'],
|
|
\ s:base03['term'], s:green['term'], 'italic']
|
|
|
|
let s:airline_b_normal = [s:base1['hex'], s:base03['hex'],
|
|
\ s:base1['term'], s:base03['term'], 'italic']
|
|
|
|
let s:airline_c_normal = [s:cyan['hex'], s:base03['hex'],
|
|
\ s:cyan['term'], s:base03['term'], 'italic']
|
|
|
|
let g:airline#themes#solarized_flood#palette.normal =
|
|
\ airline#themes#generate_color_map(s:airline_a_normal,
|
|
\ s:airline_b_normal,
|
|
\ s:airline_c_normal)
|
|
|
|
let g:airline#themes#solarized_flood#palette.normal['airline_z'] =
|
|
\ [s:green['hex'], s:base03['hex'], s:green['term'], s:base03['term'],
|
|
\ 'italic']
|
|
|
|
let g:airline#themes#solarized_flood#palette.normal_modified = {
|
|
\ 'airline_c': [s:magenta['hex'], s:base03['hex'],
|
|
\ s:magenta['term'], s:base03['term'], 'italic'],
|
|
\ }
|
|
|
|
" *****************************************************************************
|
|
" Insert Mode
|
|
" *****************************************************************************
|
|
let s:airline_a_insert = [s:base03['hex'] , s:cyan['hex'],
|
|
\ s:base03['term'], s:cyan['term'], 'bold']
|
|
|
|
let s:airline_b_insert = [s:base1['hex'], s:base03['hex'],
|
|
\ s:base1['term'], s:base03['term'], 'bold']
|
|
|
|
let s:airline_c_insert = [s:blue['hex'], s:base03['hex'],
|
|
\ s:blue['term'], s:base03['term'], 'bold']
|
|
|
|
let g:airline#themes#solarized_flood#palette.insert =
|
|
\ airline#themes#generate_color_map(s:airline_a_insert,
|
|
\ s:airline_b_insert,
|
|
\ s:airline_c_insert)
|
|
|
|
let g:airline#themes#solarized_flood#palette.insert['airline_z'] =
|
|
\ [s:cyan['hex'], s:base03['hex'], s:cyan['term'], s:base03['term'],
|
|
\ 'bold']
|
|
|
|
let g:airline#themes#solarized_flood#palette.insert_modified = {
|
|
\ 'airline_c': [s:magenta['hex'], s:base03['hex'],
|
|
\ s:magenta['term'], s:base03['term'], 'bold'],
|
|
\ }
|
|
|
|
let g:airline#themes#solarized_flood#palette.insert_paste = {
|
|
\ 'airline_a': [s:base03['hex'], s:orange['hex'],
|
|
\ s:base03['term'], s:orange['term'], 'bold'],
|
|
\ }
|
|
|
|
" *****************************************************************************
|
|
" Replace Mode
|
|
" *****************************************************************************
|
|
let g:airline#themes#solarized_flood#palette.replace =
|
|
\ copy(g:airline#themes#solarized_flood#palette.insert)
|
|
|
|
let g:airline#themes#solarized_flood#palette.replace.airline_a =
|
|
\ [s:base03['hex'], s:red['hex'], s:base03['term'], s:red['term'], 'bold']
|
|
|
|
let g:airline#themes#solarized_flood#palette.replace_modified =
|
|
\ g:airline#themes#solarized_flood#palette.insert_modified
|
|
|
|
" *****************************************************************************
|
|
" Visual Mode
|
|
" *****************************************************************************
|
|
let s:airline_a_visual = [s:base03['hex'], s:yellow['hex'],
|
|
\ s:base03['term'], s:yellow['term'], 'italic']
|
|
|
|
let s:airline_b_visual = [s:base1['hex'], s:base03['hex'],
|
|
\ s:base1['term'], s:base03['term'], 'italic']
|
|
|
|
let s:airline_c_visual = [s:red['hex'], s:base03['hex'],
|
|
\ s:red['term'], s:base03['term'], 'italic']
|
|
|
|
let g:airline#themes#solarized_flood#palette.visual =
|
|
\ airline#themes#generate_color_map(s:airline_a_visual,
|
|
\ s:airline_b_visual,
|
|
\ s:airline_c_visual)
|
|
|
|
let g:airline#themes#solarized_flood#palette.visual['airline_z'] =
|
|
\ [s:yellow['hex'], s:base03['hex'], s:yellow['term'], s:base03['term'],
|
|
\ 'italic']
|
|
|
|
let g:airline#themes#solarized_flood#palette.visual_modified = {
|
|
\ 'airline_c': [s:magenta['hex'], s:base03['hex'],
|
|
\ s:magenta['term'], s:base03['term'], 'italic'],
|
|
\ }
|
|
|
|
" *****************************************************************************
|
|
" Inactive Mode
|
|
" *****************************************************************************
|
|
let s:airline_a_inactive = ['#4e4e4e', '#1c1c1c', 239, 234, '']
|
|
let s:airline_b_inactive = ['#4e4e4e', '#262626', 239, 235, '']
|
|
let s:airline_c_inactive = ['#4e4e4e', '#303030', 239, 236, '']
|
|
let g:airline#themes#solarized_flood#palette.inactive =
|
|
\ airline#themes#generate_color_map(s:airline_a_inactive,
|
|
\ s:airline_b_inactive,
|
|
\ s:airline_c_inactive)
|
|
let g:airline#themes#solarized_flood#palette.inactive_modified = {
|
|
\ 'airline_c': ['#875faf', '', 97, '', ''] ,
|
|
\ }
|
|
|
|
|
|
let g:airline#themes#solarized_flood#palette.accents = {
|
|
\ 'red': [s:red['hex'], '', s:red['term'], '']
|
|
\ }
|
|
|
|
|
|
if get(g:, 'loaded_ctrlp', 0)
|
|
let g:airline#themes#solarized_flood#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
|
|
\ [ '#d7d7ff', '#5f00af', 189, 55 , '' ],
|
|
\ [ '#ffffff', '#875fd7', 231, 98 , '' ],
|
|
\ [ '#5f00af', '#ffffff', 55 , 231, 'bold'])
|
|
endif
|