diff --git a/README.md b/README.md index 432745f..b66bc90 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# A light and configurable statusline for Vim +# lightline.vim +A light and configurable statusline for Vim ## Author itchyny (https://github.com/itchyny) diff --git a/autoload/lightline.vim b/autoload/lightline.vim index ece9b7f..29d9e92 100644 --- a/autoload/lightline.vim +++ b/autoload/lightline.vim @@ -3,7 +3,7 @@ " Version: 0.0 " Author: itchyny " License: MIT License -" Last Change: 2013/08/22 04:53:30. +" Last Change: 2013/08/22 05:34:46. " ============================================================================= let s:save_cpo = &cpo @@ -72,7 +72,7 @@ function! lightline#init() try let g:lightline.palette = g:lightline#colorscheme#{g:lightline.colorscheme}#palette catch - call lightline#error('Colorscheme ' . g:lightline.colorscheme . ' not found.') + call lightline#error('Colorscheme ' . g:lightline.colorscheme . ' could not loaded.') let g:lightline.colorscheme = 'default' let g:lightline.palette = g:lightline#colorscheme#{g:lightline.colorscheme}#palette finally @@ -104,7 +104,7 @@ function! lightline#highlight(mode) let right = d == 'inactive' ? g:lightline.inactive.right : g:lightline.active.right let l = has_key(c, d) && has_key(c[d], 'left') ? c[d].left : c.normal.left let r = has_key(c, d) && has_key(c[d], 'right') ? c[d].right : c.normal.right - let m = has_key(c, d) && has_key(c[d], 'middle') ? c[d].middle : c.normal.middle + let m = has_key(c, d) && has_key(c[d], 'middle') ? c[d].middle[0] : c.normal.middle[0] for i in range(len(left)) exec printf('hi LightLineLeft_%s_%d guifg=%s guibg=%s ctermfg=%d ctermbg=%d', a:mode, i, l[i][0], l[i][1], l[i][2], l[i][3]) exec printf('hi LightLineLeft_%s_%d_%d guifg=%s guibg=%s ctermfg=%d ctermbg=%d', a:mode, diff --git a/autoload/lightline/colorscheme.vim b/autoload/lightline/colorscheme.vim new file mode 100644 index 0000000..f03194b --- /dev/null +++ b/autoload/lightline/colorscheme.vim @@ -0,0 +1,98 @@ +let s:cuicolor = { + \ 'black' : 16, + \ 'white' : 231, + \ + \ 'darkestgreen' : 22, + \ 'darkgreen' : 28, + \ 'mediumgreen' : 70, + \ 'brightgreen' : 148, + \ + \ 'darkestcyan' : 23, + \ 'mediumcyan' : 117, + \ + \ 'darkestblue' : 24, + \ 'darkblue' : 31, + \ + \ 'darkestred' : 52, + \ 'darkred' : 88, + \ 'mediumred' : 124, + \ 'brightred' : 160, + \ 'brightestred' : 196, + \ + \ 'darkestpurple' : 55, + \ 'mediumpurple' : 98, + \ 'brightpurple' : 189, + \ + \ 'brightorange' : 208, + \ 'brightestorange': 214, + \ + \ 'gray0' : 233, + \ 'gray1' : 235, + \ 'gray2' : 236, + \ 'gray3' : 239, + \ 'gray4' : 240, + \ 'gray5' : 241, + \ 'gray6' : 244, + \ 'gray7' : 245, + \ 'gray8' : 247, + \ 'gray9' : 250, + \ 'gray10' : 252, + \ } + +let s:guicolor = { + \ 'black' : '#000000', + \ 'white' : '#ffffff', + \ + \ 'darkestgreen' : '#005f00', + \ 'darkgreen' : '#008700', + \ 'mediumgreen' : '#5faf00', + \ 'brightgreen' : '#afdf00', + \ + \ 'darkestcyan' : '#005f5f', + \ 'mediumcyan' : '#87dfff', + \ + \ 'darkestblue' : '#005f87', + \ 'darkblue' : '#0087af', + \ + \ 'darkestred' : '#5f0000', + \ 'darkred' : '#870000', + \ 'mediumred' : '#af0000', + \ 'brightred' : '#df0000', + \ 'brightestred' : '#ff0000', + \ + \ 'darkestpurple' : '#5f00af', + \ 'mediumpurple' : '#875fdf', + \ 'brightpurple' : '#dfdfff', + \ + \ 'brightorange' : '#ff8700', + \ 'brightestorange': '#ffaf00', + \ + \ 'gray0' : '#121212', + \ 'gray1' : '#262626', + \ 'gray2' : '#303030', + \ 'gray3' : '#4e4e4e', + \ 'gray4' : '#585858', + \ 'gray5' : '#606060', + \ 'gray6' : '#808080', + \ 'gray7' : '#8a8a8a', + \ 'gray8' : '#9e9e9e', + \ 'gray9' : '#bcbcbc', + \ 'gray10' : '#d0d0d0', + \ } + +function! lightline#colorscheme#fill(p) + for k in values(a:p) + for l in values(k) + for m in l + if len(m) < 4 && type(m[0]) == 1 && type(m[1]) == 1 + call insert(m, get(s:cuicolor, m[0], 15), 2) + call insert(m, get(s:cuicolor, m[1], 15), 3) + let m[0] = get(s:guicolor, m[0], m[0]) + let m[1] = get(s:guicolor, m[1], m[1]) + endif + endfor + endfor + endfor + return a:p +endfunction + diff --git a/autoload/lightline/colorscheme/default.vim b/autoload/lightline/colorscheme/default.vim index e9b851d..bbbb500 100644 --- a/autoload/lightline/colorscheme/default.vim +++ b/autoload/lightline/colorscheme/default.vim @@ -3,18 +3,18 @@ " Version: 0.0 " Author: itchyny " License: MIT License -" Last Change: 2013/08/22 04:54:11. +" Last Change: 2013/08/22 05:31:04. " ============================================================================= -let s:c = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}} -let s:c.normal.left = [ ['#0000ff', '#ffffff', 21, 231 ], [ '#ffffff', '#0000ff', 231, 21 ], [ '#ffffff', '#0000ff', 231, 21 ] ] -let s:c.normal.right = [ [ '#303030', '#d0d0d0', 236, 252 ], [ '#303030', '#8a8a8a', 236, 245 ], [ '#bcbcbc', '#585858', 250, 240 ] ] -let s:c.inactive.right = [ [ '#121212', '#606060', 233, 241 ], [ '#121212', '#3a3a3a', 233, 237 ], [ '#121212', '#262626', 233, 235 ], [ '#121212', '#262626', 233, 235 ] ] -let s:c.inactive.left = s:c.inactive.right[1:] -let s:c.insert.left = [ ['#005f00', '#ffffff', 22, 231 ], [ '#ffffff', '#005f00', 231, 22 ], [ '#ffffff', '#005f00', 231, 22 ] ] -let s:c.replace.left = [ [ '#af0000', '#ffffff', 124, 231 ], [ '#ffffff', '#af0000', 231, 124 ], [ '#ffffff', '#af0000', 231, 124 ] ] -let s:c.visual.left = [ [ '#5f00ff', '#ffffff', 57, 231 ], [ '#ffffff', '#5f00ff', 231, 57 ], [ '#ffffff', '#5f00ff', 231, 57 ] ] -let s:c.normal.middle = [ '#ffffff', '#303030', 231, 236 ] -let s:c.inactive.middle = [ '#303030', '#121212', 236, 233 ] +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}} +let s:p.normal.left = [ ['#0000ff', '#ffffff', 21, 231 ], [ '#ffffff', '#0000ff', 231, 21 ], [ '#ffffff', '#0000ff', 231, 21 ] ] +let s:p.normal.right = [ [ '#303030', '#d0d0d0', 236, 252 ], [ '#303030', '#8a8a8a', 236, 245 ], [ '#bcbcbc', '#585858', 250, 240 ] ] +let s:p.inactive.right = [ [ '#121212', '#606060', 233, 241 ], [ '#121212', '#3a3a3a', 233, 237 ], [ '#121212', '#262626', 233, 235 ], [ '#121212', '#262626', 233, 235 ] ] +let s:p.inactive.left = s:p.inactive.right[1:] +let s:p.insert.left = [ ['#005f00', '#ffffff', 22, 231 ], [ '#ffffff', '#005f00', 231, 22 ], [ '#ffffff', '#005f00', 231, 22 ] ] +let s:p.replace.left = [ [ '#af0000', '#ffffff', 124, 231 ], [ '#ffffff', '#af0000', 231, 124 ], [ '#ffffff', '#af0000', 231, 124 ] ] +let s:p.visual.left = [ [ '#5f00ff', '#ffffff', 57, 231 ], [ '#ffffff', '#5f00ff', 231, 57 ], [ '#ffffff', '#5f00ff', 231, 57 ] ] +let s:p.normal.middle = [ [ '#ffffff', '#303030', 231, 236 ] ] +let s:p.inactive.middle = [ [ '#303030', '#121212', 236, 233 ] ] -let g:lightline#colorscheme#default#palette = s:c +let g:lightline#colorscheme#default#palette = s:p diff --git a/autoload/lightline/colorscheme/landscape.vim b/autoload/lightline/colorscheme/landscape.vim index e785c39..807f04d 100644 --- a/autoload/lightline/colorscheme/landscape.vim +++ b/autoload/lightline/colorscheme/landscape.vim @@ -3,18 +3,18 @@ " Version: 0.0 " Author: itchyny " License: MIT License -" Last Change: 2013/08/22 04:54:25. +" Last Change: 2013/08/22 05:31:02. " ============================================================================= -let s:c = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}} -let s:c.normal.left = [ ['#0000ff', '#ffffff', 21, 231 ], [ '#ffffff', '#0000ff', 231, 21 ], [ '#ffffff', '#0000ff', 231, 21 ] ] -let s:c.normal.right = [ [ '#303030', '#d0d0d0', 236, 252 ], [ '#303030', '#8a8a8a', 236, 245 ], [ '#bcbcbc', '#585858', 250, 240 ] ] -let s:c.inactive.right = [ [ '#121212', '#606060', 233, 241 ], [ '#121212', '#3a3a3a', 233, 237 ], [ '#121212', '#262626', 233, 235 ], [ '#121212', '#262626', 233, 235 ] ] -let s:c.inactive.left = s:c.inactive.right[1:] -let s:c.insert.left = [ ['#005f00', '#ffffff', 22, 231 ], [ '#ffffff', '#005f00', 231, 22 ], [ '#ffffff', '#005f00', 231, 22 ] ] -let s:c.replace.left = [ [ '#af0000', '#ffffff', 124, 231 ], [ '#ffffff', '#af0000', 231, 124 ], [ '#ffffff', '#af0000', 231, 124 ] ] -let s:c.visual.left = [ [ '#5f00ff', '#ffffff', 57, 231 ], [ '#ffffff', '#5f00ff', 231, 57 ], [ '#ffffff', '#5f00ff', 231, 57 ] ] -let s:c.normal.middle = [ '#ffffff', '#303030', 231, 236 ] -let s:c.inactive.middle = [ '#303030', '#121212', 236, 233 ] +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}} +let s:p.normal.left = [ ['#0000ff', '#ffffff', 21, 231 ], [ '#ffffff', '#0000ff', 231, 21 ], [ '#ffffff', '#0000ff', 231, 21 ] ] +let s:p.normal.right = [ [ '#303030', '#d0d0d0', 236, 252 ], [ '#303030', '#8a8a8a', 236, 245 ], [ '#bcbcbc', '#585858', 250, 240 ] ] +let s:p.inactive.right = [ [ '#121212', '#606060', 233, 241 ], [ '#121212', '#3a3a3a', 233, 237 ], [ '#121212', '#262626', 233, 235 ], [ '#121212', '#262626', 233, 235 ] ] +let s:p.inactive.left = s:p.inactive.right[1:] +let s:p.insert.left = [ ['#005f00', '#ffffff', 22, 231 ], [ '#ffffff', '#005f00', 231, 22 ], [ '#ffffff', '#005f00', 231, 22 ] ] +let s:p.replace.left = [ [ '#af0000', '#ffffff', 124, 231 ], [ '#ffffff', '#af0000', 231, 124 ], [ '#ffffff', '#af0000', 231, 124 ] ] +let s:p.visual.left = [ [ '#5f00ff', '#ffffff', 57, 231 ], [ '#ffffff', '#5f00ff', 231, 57 ], [ '#ffffff', '#5f00ff', 231, 57 ] ] +let s:p.normal.middle = [ [ '#ffffff', '#303030', 231, 236 ] ] +let s:p.inactive.middle = [ [ '#303030', '#121212', 236, 233 ] ] -let g:lightline#colorscheme#landscape#palette = s:c +let g:lightline#colorscheme#landscape#palette = s:p diff --git a/autoload/lightline/colorscheme/powerline.vim b/autoload/lightline/colorscheme/powerline.vim new file mode 100644 index 0000000..109c846 --- /dev/null +++ b/autoload/lightline/colorscheme/powerline.vim @@ -0,0 +1,21 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/default.vim +" Version: 0.0 +" Author: itchyny +" License: MIT License +" Last Change: 2013/08/22 05:44:50. +" ============================================================================= + +let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}} +let s:p.normal.left = [ ['darkestgreen', 'brightgreen'], ['white', 'gray4'] ] +let s:p.normal.right = [ ['gray6', 'gray10'], ['gray9', 'gray4'], ['gray8', 'gray2'] ] +let s:p.inactive.right = [ ['gray1', 'gray5'], ['gray4', 'gray1'], ['gray4', 'gray0'] ] +let s:p.inactive.left = s:p.inactive.right[1:] +let s:p.insert.left = [ ['darkestcyan', 'white'], ['white', 'darkblue'] ] +let s:p.insert.right = [ [ 'darkestcyan', 'gray10' ], [ 'mediumcyan', 'darkblue' ], [ 'mediumcyan', 'darkestblue' ] ] +let s:p.replace.left = [ ['white', 'brightred'], ['white', 'gray4'] ] +let s:p.visual.left = [ ['darkred', 'brightorange'], ['white', 'gray4'] ] +let s:p.normal.middle = [ [ 'gray6', 'gray2' ] ] +let s:p.insert.middle = [ [ 'darkcyan', 'darkestblue' ] ] + +let g:lightline#colorscheme#powerline#palette = lightline#colorscheme#fill(s:p)