Просмотр исходного кода

Added colorscheme for Lightline.

Griffin Moe 10 лет назад
Родитель
Сommit
cda6b51ccf
2 измененных файлов с 60 добавлено и 0 удалено
  1. 57 0
      autoload/lightline/colorscheme/gruvbox.vim
  2. 3 0
      colors/gruvbox.vim

+ 57 - 0
autoload/lightline/colorscheme/gruvbox.vim

@@ -0,0 +1,57 @@
+" -----------------------------------------------------------------------------
+" File: gruvbox.vim
+" Description: Gruvbox colorscheme for Lightline (itchyny/lightline.vim)
+" Author: gmoe <me@griffinmoe.com>
+" Source: https://github.com/morhetz/gruvbox
+" Last Modified: 31 Oct 2015
+" -----------------------------------------------------------------------------
+
+function! s:getGruvColor(group)
+  let guiColor = synIDattr(hlID(a:group), "fg", "gui") 
+  let termColor = synIDattr(hlID(a:group), "fg", "cterm") 
+  return [ guiColor, termColor ]
+endfunction
+
+if exists('g:lightline')
+
+  let s:bg1  = s:getGruvColor('GruvboxBg1')
+  let s:bg2  = s:getGruvColor('GruvboxBg2')
+  let s:bg3  = s:getGruvColor('GruvboxBg3')
+  let s:bg4  = s:getGruvColor('GruvboxBg4')
+  let s:gray = s:getGruvColor('GruvboxGray')
+  let s:fg1  = s:getGruvColor('GruvboxFg1')
+  let s:fg2  = s:getGruvColor('GruvboxFg2')
+  let s:fg3  = s:getGruvColor('GruvboxFg3')
+  let s:fg4  = s:getGruvColor('GruvboxFg4')
+
+  let s:red    = s:getGruvColor('GruvboxRed')
+  let s:green  = s:getGruvColor('GruvboxGreen')
+  let s:yellow = s:getGruvColor('GruvboxYellow')
+  let s:blue   = s:getGruvColor('GruvboxBlue')
+  let s:purple = s:getGruvColor('GruvboxPurple')
+  let s:aqua   = s:getGruvColor('GruvboxAqua')
+  let s:orange = s:getGruvColor('GruvboxOrange')
+
+  let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}}
+  let s:p.normal.left = [ [ s:bg1, s:fg4 ], [ s:fg4, s:bg2 ] ]
+  let s:p.normal.right = [ [ s:bg1, s:fg4 ], [ s:fg4, s:bg2 ] ]
+  let s:p.inactive.right = [ [ s:gray, s:bg1 ], [ s:gray, s:bg1 ] ]
+  let s:p.inactive.left =  [ [ s:gray, s:bg1 ], [ s:gray, s:bg1 ] ]
+  let s:p.insert.left = [ [ s:bg2, s:blue ], [ s:fg4, s:bg2 ] ]
+  let s:p.insert.right = [ [ s:bg2, s:blue ], [ s:fg4, s:bg2 ] ]
+  let s:p.replace.left = [ [ s:bg2, s:aqua ], [ s:fg4, s:bg2 ] ]
+  let s:p.replace.right = [ [ s:bg2, s:aqua ], [ s:fg4, s:bg2 ] ]
+  let s:p.visual.left = [ [ s:bg2, s:orange ], [ s:fg4, s:bg2 ] ]
+  let s:p.visual.right = [ [ s:bg2, s:orange ], [ s:fg4, s:bg2 ] ]
+  let s:p.normal.middle = [ [ s:fg3, s:bg1 ] ]
+  let s:p.inactive.middle = [ [ s:fg3, s:bg1 ] ]
+  let s:p.tabline.left = [ [ s:bg1, s:fg4 ] ]
+  let s:p.tabline.tabsel = [ [ s:fg4, s:bg2 ] ]
+  let s:p.tabline.middle = [ [ s:bg4, s:bg1 ] ]
+  let s:p.tabline.right = [ [ s:bg1, s:orange ] ]
+  let s:p.normal.error = [ [ s:bg1, s:red ] ]
+  let s:p.normal.warning = [ [ s:bg2, s:yellow ] ]
+
+  let g:lightline#colorscheme#gruvbox#palette = lightline#colorscheme#flatten(s:p)
+endif
+

+ 3 - 0
colors/gruvbox.vim

@@ -394,7 +394,10 @@ call s:HL('GruvboxFg1', s:fg1)
 call s:HL('GruvboxFg3', s:fg3)
 call s:HL('GruvboxFg4', s:fg4)
 call s:HL('GruvboxGray', s:gray)
+call s:HL('GruvboxBg1', s:bg1)
 call s:HL('GruvboxBg2', s:bg2)
+call s:HL('GruvboxBg3', s:bg3)
+call s:HL('GruvboxBg4', s:bg4)
 
 call s:HL('GruvboxRed', s:red)
 call s:HL('GruvboxRedBold', s:red, s:none, s:bold)