build brand new palette dictionary

This commit is contained in:
Pavel Pertsev
2015-09-03 01:38:36 +03:00
parent 6de3dc3793
commit 302470272b

View File

@@ -67,6 +67,8 @@ endif
if !exists('g:gruvbox_contrast')
let g:gruvbox_contrast='medium'
else
echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
endif
if !exists('g:gruvbox_contrast_dark')
@@ -82,6 +84,58 @@ let s:is_dark=(&background == 'dark')
" }}}
" Palette: {{{
" setup palette dictionary
let s:gb = {}
" fill it with absolute colors
let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
let s:gb.dark0 = ['#282828', 235] " 40-40-40
let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
let s:gb.dark2 = ['#504945', 239] " 80-73-69
let s:gb.dark3 = ['#665c54', 241] " 102-92-84
let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
let s:gb.gray_245 = ['#928374', 245] " 146-131-116
let s:gb.gray_244 = ['#928374', 244] " 146-131-116
let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
let s:gb.light0 = ['#fdf4c1', 229] " 253-244-193
let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
let s:gb.light3 = ['#bdae93', 248] " 189-174-147
let s:gb.light4 = ['#a89984', 246] " 168-153-132
let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
let s:gb.faded_green = ['#79740e', 100] " 121-116-14
let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
let s:gb.faded_blue = ['#076678', 24] " 7-102-120
let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
" }}}
" Setup Emphasis: {{{
let s:bold = 'bold,'
if g:gruvbox_bold == 0
let s:bold = ''
@@ -107,112 +161,118 @@ if g:gruvbox_inverse == 0
let s:inverse = ''
endif
" }}}
" Setup Colors: {{{
" determine relative colors
if s:is_dark
let s:bg0 = ['#282828', 235] " 40-40-40
let s:bg1 = ['#3c3836', 237] " 60-56-54
let s:bg2 = ['#504945', 239] " 80-73-69
let s:bg3 = ['#665c54', 241] " 102-92-84
let s:bg4 = ['#7c6f64', 243] " 124-111-100
let s:gray = ['#928374', 245] " 146-131-116
let s:fg0 = ['#fbf1c7', 229] " 251-241-199
let s:fg1 = ['#ebdbb2', 223] " 235-219-178
let s:fg2 = ['#d5c4a1', 250] " 213-196-161
let s:fg3 = ['#bdae93', 248] " 189-174-147
let s:fg4 = ['#a89984', 246] " 168-153-132
let s:fg4_256 = ['#a89984', 246] " 168-153-132
let s:red = ['#fb4934', 167] " 251-73-52
let s:green = ['#b8bb26', 142] " 184-187-38
let s:yellow = ['#fabd2f', 214] " 250-189-47
let s:blue = ['#83a598', 109] " 131-165-152
let s:purple = ['#d3869b', 175] " 211-134-155
let s:aqua = ['#8ec07c', 108] " 142-192-124
let s:orange = ['#fe8019', 208] " 254-128-25
if g:gruvbox_termcolors == 16
let s:bg0 = ['#282828', 0]
let s:fg4 = ['#a89984', 7]
let s:gray = ['#928374', 8]
let s:red = ['#fb4934', 9]
let s:green = ['#b8bb26', 10]
let s:yellow = ['#fabd2f', 11]
let s:blue = ['#83a598', 12]
let s:purple = ['#d3869b', 13]
let s:aqua = ['#8ec07c', 14]
let s:fg1 = ['#ebdbb2', 15]
endif
if g:gruvbox_contrast == 'soft'
let s:bg0 = ['#32302f', 236] " 50-48-47
elseif g:gruvbox_contrast == 'hard'
let s:bg0 = ['#1d2021', 234] " 29-32-33
endif
let s:bg0 = s:gb.dark0
if g:gruvbox_contrast_dark == 'soft'
let s:bg0 = ['#32302f', 236] " 50-48-47
let s:bg0 = s:gb.dark0_soft
elseif g:gruvbox_contrast_dark == 'hard'
let s:bg0 = ['#1d2021', 234] " 29-32-33
let s:bg0 = s:gb.dark0_hard
endif
let s:bg1 = s:gb.dark1
let s:bg2 = s:gb.dark2
let s:bg3 = s:gb.dark3
let s:bg4 = s:gb.dark4
let s:gray = s:gb.gray_245
let s:fg0 = s:gb.light0
let s:fg1 = s:gb.light1
let s:fg2 = s:gb.light2
let s:fg3 = s:gb.light3
let s:fg4 = s:gb.light4
let s:fg4_256 = s:gb.light4_256
let s:red = s:gb.bright_red
let s:green = s:gb.bright_green
let s:yellow = s:gb.bright_yellow
let s:blue = s:gb.bright_blue
let s:purple = s:gb.bright_purple
let s:aqua = s:gb.bright_aqua
let s:orange = s:gb.bright_orange
else
let s:bg0 = ['#fbf1c7', 229] " 251-241-199
let s:bg1 = ['#ebdbb2', 223] " 235-219-178
let s:bg2 = ['#d5c4a1', 250] " 213-196-161
let s:bg3 = ['#bdae93', 248] " 189-174-147
let s:bg4 = ['#a89984', 246] " 168-153-132
let s:gray = ['#928374', 244] " 146-131-116
let s:fg0 = ['#282828', 235] " 40-40-40
let s:fg1 = ['#3c3836', 237] " 60-56-54
let s:fg2 = ['#504945', 239] " 80-73-69
let s:fg3 = ['#665c54', 241] " 102-92-84
let s:fg4 = ['#7c6f64', 243] " 124-111-100
let s:fg4_256 = ['#7c6f64', 243] " 124-111-100
let s:red = ['#9d0006', 88] " 157-0-6
let s:green = ['#79740e', 100] " 121-116-14
let s:yellow = ['#b57614', 136] " 181-118-20
let s:blue = ['#076678', 24] " 7-102-120
let s:purple = ['#8f3f71', 96] " 143-63-113
let s:aqua = ['#427b58', 66] " 66-123-88
let s:orange = ['#af3a03', 130] " 175-58-3
if g:gruvbox_termcolors == 16
let s:bg0 = ['#fbf1c7', 0]
let s:fg4 = ['#7c6f64', 7]
let s:gray = ['#928374', 8]
let s:red = ['#9d0006', 9]
let s:green = ['#79740e', 10]
let s:yellow = ['#b57614', 11]
let s:blue = ['#076678', 12]
let s:purple = ['#8f3f71', 13]
let s:aqua = ['#427b58', 14]
let s:fg1 = ['#3c3836', 15]
endif
if g:gruvbox_contrast == 'soft'
let s:bg0 = ['#f2e5bc', 228] " 242-229-188
elseif g:gruvbox_contrast == 'hard'
let s:bg0 = ['#f9f5d7', 230] " 249-245-215
endif
let s:bg0 = s:gb.light0
if g:gruvbox_contrast_light == 'soft'
let s:bg0 = ['#f2e5bc', 228] " 242-229-188
let s:bg0 = s:gb.light0_soft
elseif g:gruvbox_contrast_light == 'hard'
let s:bg0 = ['#f9f5d7', 230] " 249-245-215
let s:bg0 = s:gb.light0_hard
endif
let s:bg1 = s:gb.light1
let s:bg2 = s:gb.light2
let s:bg3 = s:gb.light3
let s:bg4 = s:gb.light4
let s:gray = s:gb.gray_244
let s:fg0 = s:gb.dark0
let s:fg1 = s:gb.dark1
let s:fg2 = s:gb.dark2
let s:fg3 = s:gb.dark3
let s:fg4 = s:gb.dark4
let s:fg4_256 = s:gb.dark4_256
let s:red = s:gb.faded_red
let s:green = s:gb.faded_green
let s:yellow = s:gb.faded_yellow
let s:blue = s:gb.faded_blue
let s:purple = s:gb.faded_purple
let s:aqua = s:gb.faded_aqua
let s:orange = s:gb.faded_orange
endif
" reset to 16 colors fallback
if g:gruvbox_termcolors == 16
let s:bg0[1] = 0
let s:fg4[1] = 7
let s:gray[1] = 8
let s:red[1] = 9
let s:green[1] = 10
let s:yellow[1] = 11
let s:blue[1] = 12
let s:purple[1] = 13
let s:aqua[1] = 14
let s:fg1[1] = 15
endif
" save current relative colors back to palette dictionary
let s:gb.bg0 = s:bg0
let s:gb.bg1 = s:bg1
let s:gb.bg2 = s:bg2
let s:gb.bg3 = s:bg3
let s:gb.bg4 = s:bg4
let s:gb.gray = s:gray
let s:gb.fg0 = s:fg0
let s:gb.fg1 = s:fg1
let s:gb.fg2 = s:fg2
let s:gb.fg3 = s:fg3
let s:gb.fg4 = s:fg4
let s:gb.fg4_256 = s:fg4_256
let s:gb.red = s:red
let s:gb.green = s:green
let s:gb.yellow = s:yellow
let s:gb.blue = s:blue
let s:gb.purple = s:purple
let s:gb.aqua = s:aqua
let s:gb.orange = s:orange
" }}}
" Overload Setting: {{{
let s:hls_cursor = s:orange
if exists('g:gruvbox_hls_cursor')
let s:hls_cursor = g:gruvbox_hls_cursor
let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
endif
let s:number_column = s:bg4
@@ -225,18 +285,18 @@ else
let g:gitgutter_override_sign_column_highlight = 0
if exists('g:gruvbox_sign_column')
let s:sign_column = g:gruvbox_sign_column
let s:sign_column = get(s:gb, g:gruvbox_sign_column)
endif
endif
let s:color_column = s:bg1
if exists('g:gruvbox_color_column')
let s:color_column = g:gruvbox_color_column
let s:color_column = get(s:gb, g:gruvbox_color_column)
endif
let s:vert_split = s:bg2
if exists('g:gruvbox_vert_split')
let s:vert_split = g:gruvbox_vert_split
let s:vert_split = get(s:gb, g:gruvbox_vert_split)
endif
let s:invert_signs = ''