Skip to content

Commit

Permalink
added support for Lightline statusline plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
atelierbram committed Apr 15, 2018
1 parent 433022c commit 25a6c73
Show file tree
Hide file tree
Showing 16 changed files with 1,134 additions and 1 deletion.
13 changes: 13 additions & 0 deletions README.md
Expand Up @@ -158,6 +158,19 @@ let g:airline_theme='Base2Tone_EveningDark'
" let g:airline_theme='Base2Tone_CaveLight'
```
### Optional [Lightline](https://github.com/itchyny/lightline.vim) Support with Base2Tone
```vim
" lightline {{{
" -- INSERT -- is redundant because the mode information is displayed in the statusline:
set noshowmode
let g:lightline = {
\ 'colorscheme': 'Base2Tone_Pool',
\ }
" or any of the other colorschemes
" template is smart and detects light or dark colorscheme being used
" }}}
```
### Optional (re)generate theme(s)
These themes are generated with [Base16 Builder](https://github.com/base16-builder/base16-builder) and can be adapted and regenerated with having that CLI installed.
Expand Down
79 changes: 79 additions & 0 deletions autoload/lightline/colorscheme/Base2Tone_Cave.vim
@@ -0,0 +1,79 @@
" Filename: Base2Tone_Cave.vim (https://github.com/atelierbram/Base2Tone-vim/blob/master/autoload/lightline/colorscheme/Base2Tone_Cave.vim)
" Scheme: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
" License: MIT License

let s:cuicolors = {
\ 'base03': [ '8', '236 ', 'DarkGray' ],
\ 'base02': [ '0', '237 ', 'Black' ],
\ 'base01': [ '10', '245 ', 'LightGreen' ],
\ 'base00': [ '11', '246 ', 'LightYellow' ],
\ 'base0': [ '12', '248 ', 'LightBlue' ],
\ 'base1': [ '14', '250 ', 'LightCyan' ],
\ 'base2': [ '7', '218 ', 'LightGray' ],
\ 'base3': [ '15', '231 ', 'White' ],
\ 'yellow': [ '3', '222 ', 'DarkYellow' ],
\ 'orange': [ '9', '179 ', 'LightRed' ],
\ 'red': [ '1', '125 ', 'DarkRed' ],
\ 'magenta': [ '5', '139 ', 'DarkMagenta' ],
\ 'violet': [ '13', '95 ', 'LightMagenta' ],
\ 'blue': [ '4', '95 ', 'DarkBlue' ],
\ 'cyan': [ '6', '94 ', 'DarkCyan' ],
\ 'green': [ '2', '178 ', 'DarkGreen' ],
\ }

" The following condition only applies for the console and is the same
" condition vim-colors-Base2Tone_Cave uses to determine which set of colors
" to use.
let s:Base2Tone_Cave_termcolors = get(g:, 'Base2Tone_Cave_termcolors', 256)
if s:Base2Tone_Cave_termcolors != 256 && &t_Co >= 16
let s:cuiindex = 0
elseif s:Base2Tone_Cave_termcolors == 256
let s:cuiindex = 1
else
let s:cuiindex = 2
endif

let s:base03 = [ '#222021', s:cuicolors.base03[s:cuiindex] ]
let s:base02 = [ '#2f2d2e', s:cuicolors.base02[s:cuiindex] ]
let s:base01 = [ '#706b6d', s:cuicolors.base01[s:cuiindex] ]
let s:base00 = [ '#8a8586', s:cuicolors.base00[s:cuiindex] ]
let s:base0 = [ '#9f999b', s:cuicolors.base0[s:cuiindex] ]
let s:base1 = [ '#b3adaf', s:cuicolors.base1[s:cuiindex] ]
let s:base2 = [ '#f0a8c1', s:cuicolors.base2[s:cuiindex] ]
let s:base3 = [ '#ffebf2', s:cuicolors.base3[s:cuiindex] ]
let s:yellow = [ '#ffcc4d', s:cuicolors.yellow[s:cuiindex] ]
let s:orange = [ '#ddaf3c', s:cuicolors.orange[s:cuiindex] ]
let s:red = [ '#ad1f51', s:cuicolors.red[s:cuiindex] ]
let s:magenta = [ '#9c818b', s:cuicolors.magenta[s:cuiindex] ]
let s:violet = [ '#875e6d', s:cuicolors.violet[s:cuiindex] ]
let s:blue = [ '#936c7a', s:cuicolors.blue[s:cuiindex] ]
let s:cyan = [ '#996e00', s:cuicolors.cyan[s:cuiindex] ]
let s:green = [ '#cca133', s:cuicolors.green[s:cuiindex] ]

if lightline#colorscheme#background() ==# 'light'
let [ s:base03, s:base3 ] = [ s:base3, s:base03 ]
let [ s:base02, s:base2 ] = [ s:base2, s:base02 ]
let [ s:base01, s:base1 ] = [ s:base1, s:base01 ]
let [ s:base00, s:base0 ] = [ s:base0, s:base00 ]
let [ s:blue, s:green ] = [ s:green, s:blue ]
endif

let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base03, s:base00 ] ]
let s:p.normal.right = [ [ s:base03, s:base1 ], [ s:base03, s:base00 ] ]
let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ]
let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base0, s:base02 ] ]
let s:p.insert.left = [ [ s:base03, s:green ], [ s:base03, s:base00 ] ]
let s:p.replace.left = [ [ s:base03, s:red ], [ s:base03, s:base00 ] ]
let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base03, s:base00 ] ]
let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
let s:p.inactive.middle = [ [ s:base01, s:base02 ] ]
let s:p.tabline.left = [ [ s:base03, s:base00 ] ]
let s:p.tabline.tabsel = [ [ s:base03, s:base1 ] ]
let s:p.tabline.middle = [ [ s:base0, s:base02 ] ]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [ [ s:base03, s:red ] ]
let s:p.normal.warning = [ [ s:base03, s:yellow ] ]

let g:lightline#colorscheme#Base2Tone_Cave#palette = lightline#colorscheme#flatten(s:p)

79 changes: 79 additions & 0 deletions autoload/lightline/colorscheme/Base2Tone_Desert.vim
@@ -0,0 +1,79 @@
" Filename: Base2Tone_Desert.vim (https://github.com/atelierbram/Base2Tone-vim/blob/master/autoload/lightline/colorscheme/Base2Tone_Desert.vim)
" Scheme: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
" License: MIT License

let s:cuicolors = {
\ 'base03': [ '8', '236 ', 'DarkGray' ],
\ 'base02': [ '0', '237 ', 'Black' ],
\ 'base01': [ '10', '245 ', 'LightGreen' ],
\ 'base00': [ '11', '246 ', 'LightYellow' ],
\ 'base0': [ '12', '248 ', 'LightBlue' ],
\ 'base1': [ '14', '250 ', 'LightCyan' ],
\ 'base2': [ '7', '188 ', 'LightGray' ],
\ 'base3': [ '15', '224 ', 'White' ],
\ 'yellow': [ '3', '216 ', 'DarkYellow' ],
\ 'orange': [ '9', '209 ', 'LightRed' ],
\ 'red': [ '1', '59 ', 'DarkRed' ],
\ 'magenta': [ '5', '138 ', 'DarkMagenta' ],
\ 'violet': [ '13', '95 ', 'LightMagenta' ],
\ 'blue': [ '4', '94 ', 'DarkBlue' ],
\ 'cyan': [ '6', '130 ', 'DarkCyan' ],
\ 'green': [ '2', '208 ', 'DarkGreen' ],
\ }

" The following condition only applies for the console and is the same
" condition vim-colors-Base2Tone_Desert uses to determine which set of colors
" to use.
let s:Base2Tone_Desert_termcolors = get(g:, 'Base2Tone_Desert_termcolors', 256)
if s:Base2Tone_Desert_termcolors != 256 && &t_Co >= 16
let s:cuiindex = 0
elseif s:Base2Tone_Desert_termcolors == 256
let s:cuiindex = 1
else
let s:cuiindex = 2
endif

let s:base03 = [ '#292724', s:cuicolors.base03[s:cuiindex] ]
let s:base02 = [ '#3d3a34', s:cuicolors.base02[s:cuiindex] ]
let s:base01 = [ '#908774', s:cuicolors.base01[s:cuiindex] ]
let s:base00 = [ '#9f9684', s:cuicolors.base00[s:cuiindex] ]
let s:base0 = [ '#ada594', s:cuicolors.base0[s:cuiindex] ]
let s:base1 = [ '#bbb4a5', s:cuicolors.base1[s:cuiindex] ]
let s:base2 = [ '#ddcba6', s:cuicolors.base2[s:cuiindex] ]
let s:base3 = [ '#f2ead9', s:cuicolors.base3[s:cuiindex] ]
let s:yellow = [ '#ffb380', s:cuicolors.yellow[s:cuiindex] ]
let s:orange = [ '#f29d63', s:cuicolors.orange[s:cuiindex] ]
let s:red = [ '#5c523d', s:cuicolors.red[s:cuiindex] ]
let s:magenta = [ '#957e50', s:cuicolors.magenta[s:cuiindex] ]
let s:violet = [ '#6e6045', s:cuicolors.violet[s:cuiindex] ]
let s:blue = [ '#816f4b', s:cuicolors.blue[s:cuiindex] ]
let s:cyan = [ '#bc672f', s:cuicolors.cyan[s:cuiindex] ]
let s:green = [ '#ec9255', s:cuicolors.green[s:cuiindex] ]

if lightline#colorscheme#background() ==# 'light'
let [ s:base03, s:base3 ] = [ s:base3, s:base03 ]
let [ s:base02, s:base2 ] = [ s:base2, s:base02 ]
let [ s:base01, s:base1 ] = [ s:base1, s:base01 ]
let [ s:base00, s:base0 ] = [ s:base0, s:base00 ]
let [ s:blue, s:green ] = [ s:green, s:blue ]
endif

let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base03, s:base00 ] ]
let s:p.normal.right = [ [ s:base03, s:base1 ], [ s:base03, s:base00 ] ]
let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ]
let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base0, s:base02 ] ]
let s:p.insert.left = [ [ s:base03, s:green ], [ s:base03, s:base00 ] ]
let s:p.replace.left = [ [ s:base03, s:red ], [ s:base03, s:base00 ] ]
let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base03, s:base00 ] ]
let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
let s:p.inactive.middle = [ [ s:base01, s:base02 ] ]
let s:p.tabline.left = [ [ s:base03, s:base00 ] ]
let s:p.tabline.tabsel = [ [ s:base03, s:base1 ] ]
let s:p.tabline.middle = [ [ s:base0, s:base02 ] ]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [ [ s:base03, s:red ] ]
let s:p.normal.warning = [ [ s:base03, s:yellow ] ]

let g:lightline#colorscheme#Base2Tone_Desert#palette = lightline#colorscheme#flatten(s:p)

79 changes: 79 additions & 0 deletions autoload/lightline/colorscheme/Base2Tone_Drawbridge.vim
@@ -0,0 +1,79 @@
" Filename: Base2Tone_Drawbridge.vim (https://github.com/atelierbram/Base2Tone-vim/blob/master/autoload/lightline/colorscheme/Base2Tone_Drawbridge.vim)
" Scheme: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
" License: MIT License

let s:cuicolors = {
\ 'base03': [ '8', '236 ', 'DarkGray' ],
\ 'base02': [ '0', '237 ', 'Black' ],
\ 'base01': [ '10', '245 ', 'LightGreen' ],
\ 'base00': [ '11', '246 ', 'LightYellow' ],
\ 'base0': [ '12', '248 ', 'LightBlue' ],
\ 'base1': [ '14', '250 ', 'LightCyan' ],
\ 'base2': [ '7', '153 ', 'LightGray' ],
\ 'base3': [ '15', '189 ', 'White' ],
\ 'yellow': [ '3', '123 ', 'DarkYellow' ],
\ 'orange': [ '9', '51 ', 'LightRed' ],
\ 'red': [ '1', '62 ', 'DarkRed' ],
\ 'magenta': [ '5', '69 ', 'DarkMagenta' ],
\ 'violet': [ '13', '62 ', 'LightMagenta' ],
\ 'blue': [ '4', '69 ', 'DarkBlue' ],
\ 'cyan': [ '6', '31 ', 'DarkCyan' ],
\ 'green': [ '2', '45 ', 'DarkGreen' ],
\ }

" The following condition only applies for the console and is the same
" condition vim-colors-Base2Tone_Drawbridge uses to determine which set of colors
" to use.
let s:Base2Tone_Drawbridge_termcolors = get(g:, 'Base2Tone_Drawbridge_termcolors', 256)
if s:Base2Tone_Drawbridge_termcolors != 256 && &t_Co >= 16
let s:cuiindex = 0
elseif s:Base2Tone_Drawbridge_termcolors == 256
let s:cuiindex = 1
else
let s:cuiindex = 2
endif

let s:base03 = [ '#1b1f32', s:cuicolors.base03[s:cuiindex] ]
let s:base02 = [ '#252a41', s:cuicolors.base02[s:cuiindex] ]
let s:base01 = [ '#5e6587', s:cuicolors.base01[s:cuiindex] ]
let s:base00 = [ '#797e96', s:cuicolors.base00[s:cuiindex] ]
let s:base0 = [ '#9094a7', s:cuicolors.base0[s:cuiindex] ]
let s:base1 = [ '#a6aab9', s:cuicolors.base1[s:cuiindex] ]
let s:base2 = [ '#c3cdfe', s:cuicolors.base2[s:cuiindex] ]
let s:base3 = [ '#e1e6ff', s:cuicolors.base3[s:cuiindex] ]
let s:yellow = [ '#99e9ff', s:cuicolors.yellow[s:cuiindex] ]
let s:orange = [ '#75d5f0', s:cuicolors.orange[s:cuiindex] ]
let s:red = [ '#4961da', s:cuicolors.red[s:cuiindex] ]
let s:magenta = [ '#7289fd', s:cuicolors.magenta[s:cuiindex] ]
let s:violet = [ '#516aec', s:cuicolors.violet[s:cuiindex] ]
let s:blue = [ '#627af4', s:cuicolors.blue[s:cuiindex] ]
let s:cyan = [ '#289dbd', s:cuicolors.cyan[s:cuiindex] ]
let s:green = [ '#67c9e4', s:cuicolors.green[s:cuiindex] ]

if lightline#colorscheme#background() ==# 'light'
let [ s:base03, s:base3 ] = [ s:base3, s:base03 ]
let [ s:base02, s:base2 ] = [ s:base2, s:base02 ]
let [ s:base01, s:base1 ] = [ s:base1, s:base01 ]
let [ s:base00, s:base0 ] = [ s:base0, s:base00 ]
let [ s:blue, s:green ] = [ s:green, s:blue ]
endif

let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base03, s:base00 ] ]
let s:p.normal.right = [ [ s:base03, s:base1 ], [ s:base03, s:base00 ] ]
let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ]
let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base0, s:base02 ] ]
let s:p.insert.left = [ [ s:base03, s:green ], [ s:base03, s:base00 ] ]
let s:p.replace.left = [ [ s:base03, s:red ], [ s:base03, s:base00 ] ]
let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base03, s:base00 ] ]
let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
let s:p.inactive.middle = [ [ s:base01, s:base02 ] ]
let s:p.tabline.left = [ [ s:base03, s:base00 ] ]
let s:p.tabline.tabsel = [ [ s:base03, s:base1 ] ]
let s:p.tabline.middle = [ [ s:base0, s:base02 ] ]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [ [ s:base03, s:red ] ]
let s:p.normal.warning = [ [ s:base03, s:yellow ] ]

let g:lightline#colorscheme#Base2Tone_Drawbridge#palette = lightline#colorscheme#flatten(s:p)

79 changes: 79 additions & 0 deletions autoload/lightline/colorscheme/Base2Tone_Earth.vim
@@ -0,0 +1,79 @@
" Filename: Base2Tone_Earth.vim (https://github.com/atelierbram/Base2Tone-vim/blob/master/autoload/lightline/colorscheme/Base2Tone_Earth.vim)
" Scheme: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
" License: MIT License

let s:cuicolors = {
\ 'base03': [ '8', '236 ', 'DarkGray' ],
\ 'base02': [ '0', '237 ', 'Black' ],
\ 'base01': [ '10', '245 ', 'LightGreen' ],
\ 'base00': [ '11', '246 ', 'LightYellow' ],
\ 'base0': [ '12', '248 ', 'LightBlue' ],
\ 'base1': [ '14', '250 ', 'LightCyan' ],
\ 'base2': [ '7', '180 ', 'LightGray' ],
\ 'base3': [ '15', '231 ', 'White' ],
\ 'yellow': [ '3', '214 ', 'DarkYellow' ],
\ 'orange': [ '9', '178 ', 'LightRed' ],
\ 'red': [ '1', '59 ', 'DarkRed' ],
\ 'magenta': [ '5', '244 ', 'DarkMagenta' ],
\ 'violet': [ '13', '95 ', 'LightMagenta' ],
\ 'blue': [ '4', '243 ', 'DarkBlue' ],
\ 'cyan': [ '6', '137 ', 'DarkCyan' ],
\ 'green': [ '2', '178 ', 'DarkGreen' ],
\ }

" The following condition only applies for the console and is the same
" condition vim-colors-Base2Tone_Earth uses to determine which set of colors
" to use.
let s:Base2Tone_Earth_termcolors = get(g:, 'Base2Tone_Earth_termcolors', 256)
if s:Base2Tone_Earth_termcolors != 256 && &t_Co >= 16
let s:cuiindex = 0
elseif s:Base2Tone_Earth_termcolors == 256
let s:cuiindex = 1
else
let s:cuiindex = 2
endif

let s:base03 = [ '#322d29', s:cuicolors.base03[s:cuiindex] ]
let s:base02 = [ '#3f3a37', s:cuicolors.base02[s:cuiindex] ]
let s:base01 = [ '#796b63', s:cuicolors.base01[s:cuiindex] ]
let s:base00 = [ '#a3948a', s:cuicolors.base00[s:cuiindex] ]
let s:base0 = [ '#b5a9a1', s:cuicolors.base0[s:cuiindex] ]
let s:base1 = [ '#c7beb8', s:cuicolors.base1[s:cuiindex] ]
let s:base2 = [ '#dfb99f', s:cuicolors.base2[s:cuiindex] ]
let s:base3 = [ '#fff3eb', s:cuicolors.base3[s:cuiindex] ]
let s:yellow = [ '#fcc440', s:cuicolors.yellow[s:cuiindex] ]
let s:orange = [ '#e6b84d', s:cuicolors.orange[s:cuiindex] ]
let s:red = [ '#6f5849', s:cuicolors.red[s:cuiindex] ]
let s:magenta = [ '#88786d', s:cuicolors.magenta[s:cuiindex] ]
let s:violet = [ '#786254', s:cuicolors.violet[s:cuiindex] ]
let s:blue = [ '#816d5f', s:cuicolors.blue[s:cuiindex] ]
let s:cyan = [ '#9c8349', s:cuicolors.cyan[s:cuiindex] ]
let s:green = [ '#d9b154', s:cuicolors.green[s:cuiindex] ]

if lightline#colorscheme#background() ==# 'light'
let [ s:base03, s:base3 ] = [ s:base3, s:base03 ]
let [ s:base02, s:base2 ] = [ s:base2, s:base02 ]
let [ s:base01, s:base1 ] = [ s:base1, s:base01 ]
let [ s:base00, s:base0 ] = [ s:base0, s:base00 ]
let [ s:blue, s:green ] = [ s:green, s:blue ]
endif

let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ s:base03, s:blue ], [ s:base03, s:base00 ] ]
let s:p.normal.right = [ [ s:base03, s:base1 ], [ s:base03, s:base00 ] ]
let s:p.inactive.right = [ [ s:base03, s:base00 ], [ s:base0, s:base02 ] ]
let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base0, s:base02 ] ]
let s:p.insert.left = [ [ s:base03, s:green ], [ s:base03, s:base00 ] ]
let s:p.replace.left = [ [ s:base03, s:red ], [ s:base03, s:base00 ] ]
let s:p.visual.left = [ [ s:base03, s:magenta ], [ s:base03, s:base00 ] ]
let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
let s:p.inactive.middle = [ [ s:base01, s:base02 ] ]
let s:p.tabline.left = [ [ s:base03, s:base00 ] ]
let s:p.tabline.tabsel = [ [ s:base03, s:base1 ] ]
let s:p.tabline.middle = [ [ s:base0, s:base02 ] ]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [ [ s:base03, s:red ] ]
let s:p.normal.warning = [ [ s:base03, s:yellow ] ]

let g:lightline#colorscheme#Base2Tone_Earth#palette = lightline#colorscheme#flatten(s:p)

0 comments on commit 25a6c73

Please sign in to comment.