aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.vim/autoload/airline/themes
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2020-02-25 14:47:03 +0300
committerYaroslav <contact@yaroslavps.com>2020-02-25 14:47:03 +0300
commitd16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64 (patch)
tree6575864b75dc0c9de61b5d523e77dbcff785c998 /dotfiles/.vim/autoload/airline/themes
parent69d47128244a06ee28e4b43191ef9216b04bce13 (diff)
downloadvimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.tar.gz
vimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.zip
reorganized repo to be easier to use with GNU stow; added script to stow
Diffstat (limited to 'dotfiles/.vim/autoload/airline/themes')
-rw-r--r--dotfiles/.vim/autoload/airline/themes/base16.vim181
-rw-r--r--dotfiles/.vim/autoload/airline/themes/bubblegum.vim70
-rw-r--r--dotfiles/.vim/autoload/airline/themes/dark.vim161
-rw-r--r--dotfiles/.vim/autoload/airline/themes/gruvbox.vim79
-rw-r--r--dotfiles/.vim/autoload/airline/themes/ultramar.vim70
5 files changed, 561 insertions, 0 deletions
diff --git a/dotfiles/.vim/autoload/airline/themes/base16.vim b/dotfiles/.vim/autoload/airline/themes/base16.vim
new file mode 100644
index 0000000..0a7b442
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/themes/base16.vim
@@ -0,0 +1,181 @@
+let s:improved_contrast = get(g:, 'airline_base16_improved_contrast', 0)
+
+" Color palette
+let s:gui_dark_gray = '#202020'
+let s:cterm_dark_gray = 234
+let s:gui_med_gray_hi = '#303030'
+let s:cterm_med_gray_hi = 236
+let s:gui_med_gray_lo = '#3a3a3a'
+let s:cterm_med_gray_lo = 237
+let s:gui_light_gray = '#505050'
+let s:cterm_light_gray = 239
+let s:gui_lightlight_gray = '#8A8A8A'
+let s:cterm_lightlight_gray = 245
+let s:gui_green = '#99cc99'
+let s:cterm_green = 151
+let s:gui_blue = '#6a9fb5'
+let s:cterm_blue = 67
+let s:gui_purple = '#aa759f'
+let s:cterm_purple = 139
+let s:gui_orange = '#d28445'
+let s:cterm_orange = 173
+let s:gui_red = '#ac4142'
+let s:cterm_red = 131
+let s:gui_pink = '#d7afd7'
+let s:cterm_pink = 182
+
+if get(g:, 'airline#themes#base16#constant', 0)
+ let g:airline#themes#base16#palette = {}
+
+ " Normal mode
+ let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green]
+ if s:improved_contrast
+ let s:N2 = [s:gui_lightlight_gray, s:gui_med_gray_lo, s:cterm_lightlight_gray, s:cterm_med_gray_lo]
+ else
+
+ let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo]
+ endif
+ let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi]
+ let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+ let g:airline#themes#base16#palette.normal_modified = {
+ \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''],
+ \ }
+
+ " Insert mode
+ let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue]
+ let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi]
+ let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3)
+ let g:airline#themes#base16#palette.insert_modified = copy(g:airline#themes#base16#palette.normal_modified)
+ let g:airline#themes#base16#palette.insert_paste = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''],
+ \ }
+
+ " Replace mode
+ let g:airline#themes#base16#palette.replace = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''],
+ \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''],
+ \ }
+ let g:airline#themes#base16#palette.replace_modified = copy(g:airline#themes#base16#palette.insert_modified)
+
+ " Visual mode
+ let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink]
+ let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi]
+ let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3)
+ let g:airline#themes#base16#palette.visual_modified = copy(g:airline#themes#base16#palette.insert_modified)
+
+ " Inactive window
+ if s:improved_contrast
+ let s:IA = [s:gui_dark_gray, s:gui_med_gray_hi, s:cterm_lightlight_gray, s:cterm_med_gray_hi, '']
+ else
+ let s:IA = [s:gui_dark_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, '']
+ endif
+ let g:airline#themes#base16#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
+ let g:airline#themes#base16#palette.inactive_modified = {
+ \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''],
+ \ }
+else
+ function! airline#themes#base16#refresh()
+ let g:airline#themes#base16#palette = {}
+
+ let g:airline#themes#base16#palette.accents = {
+ \ 'red': airline#themes#get_highlight('Constant'),
+ \ }
+
+ let s:N1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffText', 'fg'], 'bold')
+ let s:N2 = airline#themes#get_highlight2(['Visual', 'fg'], ['Visual', 'bg'])
+ let s:N3 = airline#themes#get_highlight('CursorLine')
+ let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+
+ let group = airline#themes#get_highlight('Statement')
+ let g:airline#themes#base16#palette.normal_modified = {
+ \ 'airline_c': [ group[0], '', group[2], '', '' ]
+ \ }
+
+ let s:I1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffAdded', 'fg'], 'bold')
+ let s:I2 = airline#themes#get_highlight2(['DiffAdded', 'fg'], ['Normal', 'bg'])
+ let s:I3 = s:N3
+ let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
+ let g:airline#themes#base16#palette.insert_modified = g:airline#themes#base16#palette.normal_modified
+
+ let s:R1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['WarningMsg', 'fg'], 'bold')
+ let s:R2 = s:N2
+ let s:R3 = s:N3
+ let g:airline#themes#base16#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
+ let g:airline#themes#base16#palette.replace_modified = g:airline#themes#base16#palette.normal_modified
+
+ let s:V1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['Constant', 'fg'], 'bold')
+ let s:V2 = airline#themes#get_highlight2(['Constant', 'fg'], ['Normal', 'bg'])
+ let s:V3 = s:N3
+ let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
+ let g:airline#themes#base16#palette.visual_modified = g:airline#themes#base16#palette.normal_modified
+
+ " Use VertSplit's bg and default fg (reversed) for inactive statusline.
+ let s:VS = airline#themes#get_highlight('VertSplit')
+ if s:improved_contrast
+ let s:IA = [ s:VS[1], 'NONE', s:VS[2], s:cterm_lightlight_gray, 'reverse']
+ else
+ let s:IA = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse']
+ endif
+ let g:airline#themes#base16#palette.inactive =
+ \ airline#themes#generate_color_map(s:IA, s:IA, s:IA, s:IA, s:IA, s:IA)
+ let s:IM = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse']
+ let g:airline#themes#base16#palette.inactive_modified =
+ \ airline#themes#generate_color_map(s:IM, s:IM, s:IM, s:IM, s:IM, s:IM)
+
+ " Warnings
+ let s:WI = airline#themes#get_highlight2(['WarningMsg', 'bg'], ['WarningMsg', 'fg'], 'bold')
+ let g:airline#themes#base16#palette.normal.airline_warning = [
+ \ s:WI[0], s:WI[1], s:WI[2], s:WI[3]
+ \ ]
+
+ let g:airline#themes#base16#palette.normal_modified.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.insert.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.insert_modified.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.visual.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.visual_modified.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.replace.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ let g:airline#themes#base16#palette.replace_modified.airline_warning =
+ \ g:airline#themes#base16#palette.normal.airline_warning
+
+ " Errors
+ let s:ER = airline#themes#get_highlight2(['ErrorMsg', 'bg'], ['ErrorMsg', 'fg'], 'bold')
+ let g:airline#themes#base16#palette.normal.airline_error = [
+ \ s:ER[0], s:ER[1], s:ER[2], s:ER[3]
+ \ ]
+
+ let g:airline#themes#base16#palette.normal_modified.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.insert.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.insert_modified.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.visual.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.visual_modified.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.replace.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ let g:airline#themes#base16#palette.replace_modified.airline_error =
+ \ g:airline#themes#base16#palette.normal.airline_error
+
+ endfunction
+ call airline#themes#base16#refresh()
+endif
diff --git a/dotfiles/.vim/autoload/airline/themes/bubblegum.vim b/dotfiles/.vim/autoload/airline/themes/bubblegum.vim
new file mode 100644
index 0000000..f2378ce
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/themes/bubblegum.vim
@@ -0,0 +1,70 @@
+" Color palette
+let s:gui_dark_gray = '#303030'
+let s:cterm_dark_gray = 236
+let s:gui_med_gray_hi = '#444444'
+let s:cterm_med_gray_hi = 238
+let s:gui_med_gray_lo = '#3a3a3a'
+let s:cterm_med_gray_lo = 237
+let s:gui_light_gray = '#b2b2b2'
+let s:cterm_light_gray = 249
+let s:gui_green = '#afd787'
+let s:cterm_green = 150
+let s:gui_blue = '#87afd7'
+let s:cterm_blue = 110
+let s:gui_purple = '#afafd7'
+let s:cterm_purple = 146
+let s:gui_orange = '#d7af5f'
+let s:cterm_orange = 179
+let s:gui_red = '#d78787'
+let s:cterm_red = 174
+let s:gui_pink = '#d7afd7'
+let s:cterm_pink = 182
+
+let g:airline#themes#bubblegum#palette = {}
+
+" Normal mode
+let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green]
+let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo]
+let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi]
+let g:airline#themes#bubblegum#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+let g:airline#themes#bubblegum#palette.normal_modified = {
+ \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''],
+ \ }
+
+" Insert mode
+let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue]
+let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi]
+let g:airline#themes#bubblegum#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3)
+let g:airline#themes#bubblegum#palette.insert_modified = copy(g:airline#themes#bubblegum#palette.normal_modified)
+let g:airline#themes#bubblegum#palette.insert_paste = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''],
+ \ }
+
+" Replace mode
+let g:airline#themes#bubblegum#palette.replace = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''],
+ \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''],
+ \ }
+let g:airline#themes#bubblegum#palette.replace_modified = copy(g:airline#themes#bubblegum#palette.insert_modified)
+
+" Visual mode
+let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink]
+let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi]
+let g:airline#themes#bubblegum#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3)
+let g:airline#themes#bubblegum#palette.visual_modified = copy(g:airline#themes#bubblegum#palette.insert_modified)
+
+" Inactive window
+let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, '']
+let g:airline#themes#bubblegum#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
+let g:airline#themes#bubblegum#palette.inactive_modified = {
+ \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''],
+ \ }
+
+" CtrlP
+if !get(g:, 'loaded_ctrlp', 0)
+ finish
+endif
+let g:airline#themes#bubblegum#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
+ \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] ,
+ \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] ,
+ \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] )
diff --git a/dotfiles/.vim/autoload/airline/themes/dark.vim b/dotfiles/.vim/autoload/airline/themes/dark.vim
new file mode 100644
index 0000000..94f3763
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/themes/dark.vim
@@ -0,0 +1,161 @@
+" MIT License. Copyright (c) 2013-2018 Bailey Ling et al.
+" vim: et ts=2 sts=2 sw=2 tw=80
+
+scriptencoding utf-8
+
+" Airline themes are generated based on the following concepts:
+" * The section of the status line, valid Airline statusline sections are:
+" * airline_a (left most section)
+" * airline_b (section just to the right of airline_a)
+" * airline_c (section just to the right of airline_b)
+" * airline_x (first section of the right most sections)
+" * airline_y (section just to the right of airline_x)
+" * airline_z (right most section)
+" * The mode of the buffer, as reported by the :mode() function. Airline
+" converts the values reported by mode() to the following:
+" * normal
+" * insert
+" * replace
+" * visual
+" * inactive
+" The last one is actually no real mode as returned by mode(), but used by
+" airline to style inactive statuslines (e.g. windows, where the cursor
+" currently does not reside in).
+" * In addition to each section and mode specified above, airline themes
+" can also specify overrides. Overrides can be provided for the following
+" scenarios:
+" * 'modified'
+" * 'paste'
+"
+" Airline themes are specified as a global viml dictionary using the above
+" sections, modes and overrides as keys to the dictionary. The name of the
+" dictionary is significant and should be specified as:
+" * g:airline#themes#<theme_name>#palette
+" where <theme_name> is substituted for the name of the theme.vim file where the
+" theme definition resides. Airline themes should reside somewhere on the
+" 'runtimepath' where it will be loaded at vim startup, for example:
+" * autoload/airline/themes/theme_name.vim
+"
+" For this, the dark.vim, theme, this is defined as
+let g:airline#themes#dark#palette = {}
+
+" Keys in the dictionary are composed of the mode, and if specified the
+" override. For example:
+" * g:airline#themes#dark#palette.normal
+" * the colors for a statusline while in normal mode
+" * g:airline#themes#dark#palette.normal_modified
+" * the colors for a statusline while in normal mode when the buffer has
+" been modified
+" * g:airline#themes#dark#palette.visual
+" * the colors for a statusline while in visual mode
+"
+" Values for each dictionary key is an array of color values that should be
+" familiar for colorscheme designers:
+" * [guifg, guibg, ctermfg, ctermbg, opts]
+" See "help attr-list" for valid values for the "opt" value.
+"
+" Each theme must provide an array of such values for each airline section of
+" the statusline (airline_a through airline_z). A convenience function,
+" airline#themes#generate_color_map() exists to mirror airline_a/b/c to
+" airline_x/y/z, respectively.
+
+" The dark.vim theme:
+let s:airline_a_normal = [ '#00005f' , '#dfff00' , 17 , 190 ]
+let s:airline_b_normal = [ '#ffffff' , '#444444' , 255 , 238 ]
+let s:airline_c_normal = [ '#9cffd3' , '#202020' , 85 , 234 ]
+let g:airline#themes#dark#palette.normal = airline#themes#generate_color_map(s:airline_a_normal, s:airline_b_normal, s:airline_c_normal)
+
+" It should be noted the above is equivalent to:
+" let g:airline#themes#dark#palette.normal = airline#themes#generate_color_map(
+" \ [ '#00005f' , '#dfff00' , 17 , 190 ], " section airline_a
+" \ [ '#ffffff' , '#444444' , 255 , 238 ], " section airline_b
+" \ [ '#9cffd3' , '#202020' , 85 , 234 ] " section airline_c
+" \)
+"
+" In turn, that is equivalent to:
+" let g:airline#themes#dark#palette.normal = {
+" \ 'airline_a': [ '#00005f' , '#dfff00' , 17 , 190 ], "section airline_a
+" \ 'airline_b': [ '#ffffff' , '#444444' , 255 , 238 ], "section airline_b
+" \ 'airline_c': [ '#9cffd3' , '#202020' , 85 , 234 ], "section airline_c
+" \ 'airline_x': [ '#9cffd3' , '#202020' , 85 , 234 ], "section airline_x
+" \ 'airline_y': [ '#ffffff' , '#444444' , 255 , 238 ], "section airline_y
+" \ 'airline_z': [ '#00005f' , '#dfff00' , 17 , 190 ] "section airline_z
+" \}
+"
+" airline#themes#generate_color_map() also uses the values provided as
+" parameters to create intermediary groups such as:
+" airline_a_to_airline_b
+" airline_b_to_airline_c
+" etc...
+
+" Here we define overrides for when the buffer is modified. This will be
+" applied after g:airline#themes#dark#palette.normal, hence why only certain keys are
+" declared.
+let g:airline#themes#dark#palette.normal_modified = {
+ \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
+ \ }
+
+
+let s:airline_a_insert = [ '#00005f' , '#00dfff' , 17 , 45 ]
+let s:airline_b_insert = [ '#ffffff' , '#005fff' , 255 , 27 ]
+let s:airline_c_insert = [ '#ffffff' , '#000080' , 15 , 17 ]
+let g:airline#themes#dark#palette.insert = airline#themes#generate_color_map(s:airline_a_insert, s:airline_b_insert, s:airline_c_insert)
+let g:airline#themes#dark#palette.insert_modified = {
+ \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
+ \ }
+let g:airline#themes#dark#palette.insert_paste = {
+ \ 'airline_a': [ s:airline_a_insert[0] , '#d78700' , s:airline_a_insert[2] , 172 , '' ] ,
+ \ }
+
+
+let g:airline#themes#dark#palette.replace = copy(g:airline#themes#dark#palette.insert)
+let g:airline#themes#dark#palette.replace.airline_a = [ s:airline_b_insert[0] , '#af0000' , s:airline_b_insert[2] , 124 , '' ]
+let g:airline#themes#dark#palette.replace_modified = g:airline#themes#dark#palette.insert_modified
+
+
+let s:airline_a_visual = [ '#000000' , '#ffaf00' , 232 , 214 ]
+let s:airline_b_visual = [ '#000000' , '#ff5f00' , 232 , 202 ]
+let s:airline_c_visual = [ '#ffffff' , '#5f0000' , 15 , 52 ]
+let g:airline#themes#dark#palette.visual = airline#themes#generate_color_map(s:airline_a_visual, s:airline_b_visual, s:airline_c_visual)
+let g:airline#themes#dark#palette.visual_modified = {
+ \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
+ \ }
+
+
+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#dark#palette.inactive = airline#themes#generate_color_map(s:airline_a_inactive, s:airline_b_inactive, s:airline_c_inactive)
+let g:airline#themes#dark#palette.inactive_modified = {
+ \ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] ,
+ \ }
+
+" For commandline mode, we use the colors from normal mode, except the mode
+" indicator should be colored differently, e.g. blue on light green
+let s:airline_a_commandline = [ '#0000ff' , '#0cff00' , 63 , 40 ]
+let s:airline_b_commandline = [ '#ffffff' , '#444444' , 255 , 238 ]
+let s:airline_c_commandline = [ '#9cffd3' , '#202020' , 85 , 234 ]
+let g:airline#themes#dark#palette.commandline = airline#themes#generate_color_map(s:airline_a_commandline, s:airline_b_commandline, s:airline_c_commandline)
+
+" Accents are used to give parts within a section a slightly different look or
+" color. Here we are defining a "red" accent, which is used by the 'readonly'
+" part by default. Only the foreground colors are specified, so the background
+" colors are automatically extracted from the underlying section colors. What
+" this means is that regardless of which section the part is defined in, it
+" will be red instead of the section's foreground color. You can also have
+" multiple parts with accents within a section.
+let g:airline#themes#dark#palette.accents = {
+ \ 'red': [ '#ff0000' , '' , 160 , '' ]
+ \ }
+
+
+" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp
+" variable so that related functionality is loaded iff the user is using
+" ctrlp. Note that this is optional, and if you do not define ctrlp colors
+" they will be chosen automatically from the existing palette.
+if get(g:, 'loaded_ctrlp', 0)
+ let g:airline#themes#dark#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
+ \ [ '#d7d7ff' , '#5f00af' , 189 , 55 , '' ],
+ \ [ '#ffffff' , '#875fd7' , 231 , 98 , '' ],
+ \ [ '#5f00af' , '#ffffff' , 55 , 231 , 'bold' ])
+endif
diff --git a/dotfiles/.vim/autoload/airline/themes/gruvbox.vim b/dotfiles/.vim/autoload/airline/themes/gruvbox.vim
new file mode 100644
index 0000000..6862a81
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/themes/gruvbox.vim
@@ -0,0 +1,79 @@
+" -----------------------------------------------------------------------------
+" File: gruvbox.vim
+" Description: Retro groove color scheme for Airline
+" Author: morhetz <morhetz@gmail.com>
+" Source: https://github.com/morhetz/gruvbox
+" Last Modified: 12 Aug 2017
+" -----------------------------------------------------------------------------
+
+let g:airline#themes#gruvbox#palette = {}
+
+function! airline#themes#gruvbox#refresh()
+
+ let M0 = airline#themes#get_highlight('Identifier')
+ let accents_group = airline#themes#get_highlight('Special')
+ let modified_group = [M0[0], '', M0[2], '', '']
+ let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
+ let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg'])
+
+ let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg'])
+ let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg'])
+ let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg'])
+ let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+ let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group }
+ let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group
+ let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group
+ let g:airline#themes#gruvbox#palette.normal.airline_error = error_group
+ let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group
+
+ let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg'])
+ let s:I2 = s:N2
+ let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg'])
+ let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
+ let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified
+ let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
+ let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
+ let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
+ let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
+
+ let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg'])
+ let s:R2 = s:I2
+ let s:R3 = s:I3
+ let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
+ let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified
+ let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
+ let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
+ let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
+ let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
+
+ let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
+ let s:V2 = s:N2
+ let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg'])
+ let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
+ let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] }
+ let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
+ let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
+ let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
+ let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
+
+ let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg'])
+ let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
+ let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group }
+
+ let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group }
+
+ let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg'])
+ let g:airline#themes#gruvbox#palette.tabline = {
+ \ 'airline_tab': s:N2,
+ \ 'airline_tabsel': s:N1,
+ \ 'airline_tabtype': s:V1,
+ \ 'airline_tabfill': s:TF,
+ \ 'airline_tabhid': s:IA,
+ \ 'airline_tabmod': s:I1
+ \ }
+
+endfunction
+
+call airline#themes#gruvbox#refresh()
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/dotfiles/.vim/autoload/airline/themes/ultramar.vim b/dotfiles/.vim/autoload/airline/themes/ultramar.vim
new file mode 100644
index 0000000..5f542de
--- /dev/null
+++ b/dotfiles/.vim/autoload/airline/themes/ultramar.vim
@@ -0,0 +1,70 @@
+" Color palette
+let s:gui_dark_gray = '#434c5e'
+let s:cterm_dark_gray = 236
+let s:gui_med_gray_hi = '#2d333f'
+let s:cterm_med_gray_hi = 238
+let s:gui_med_gray_lo = '#3b4252'
+let s:cterm_med_gray_lo = 237
+let s:gui_light_gray = '#e5e9f0'
+let s:cterm_light_gray = 249
+let s:gui_green = '#9eba86'
+let s:cterm_green = 150
+let s:gui_blue = '#81acc1'
+let s:cterm_blue = 110
+let s:gui_purple = '#9c6992'
+let s:cterm_purple = 146
+let s:gui_orange = '#af5539'
+let s:cterm_orange = 179
+let s:gui_red = '#b73030'
+let s:cterm_red = 174
+let s:gui_pink = '#b48ead'
+let s:cterm_pink = 182
+
+let g:airline#themes#ultramar#palette = {}
+
+" Normal mode
+let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green]
+let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo]
+let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi]
+let g:airline#themes#ultramar#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+let g:airline#themes#ultramar#palette.normal_modified = {
+ \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''],
+ \ }
+
+" Insert mode
+let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue]
+let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi]
+let g:airline#themes#ultramar#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3)
+let g:airline#themes#ultramar#palette.insert_modified = copy(g:airline#themes#ultramar#palette.normal_modified)
+let g:airline#themes#ultramar#palette.insert_paste = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''],
+ \ }
+
+" Replace mode
+let g:airline#themes#ultramar#palette.replace = {
+ \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''],
+ \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''],
+ \ }
+let g:airline#themes#ultramar#palette.replace_modified = copy(g:airline#themes#ultramar#palette.insert_modified)
+
+" Visual mode
+let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink]
+let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi]
+let g:airline#themes#ultramar#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3)
+let g:airline#themes#ultramar#palette.visual_modified = copy(g:airline#themes#ultramar#palette.insert_modified)
+
+" Inactive window
+let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, '']
+let g:airline#themes#ultramar#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
+let g:airline#themes#ultramar#palette.inactive_modified = {
+ \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''],
+ \ }
+
+" CtrlP
+if !get(g:, 'loaded_ctrlp', 0)
+ finish
+endif
+let g:airline#themes#ultramar#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
+ \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] ,
+ \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] ,
+ \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] )