mirror of
https://github.com/morhetz/gruvbox.git
synced 2025-11-08 11:23:46 -05:00
build brand new palette dictionary
This commit is contained in:
@@ -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 = ''
|
||||
|
||||
Reference in New Issue
Block a user