Compare commits

..

1 Commits

Author SHA1 Message Date
fb99dccc7f Replace vim-airline with a custom statusline
Finally got round to making a custom statusline after being inspired by
https://pastebin.com/Fm1NEgBf
2021-02-07 23:09:01 +00:00
2 changed files with 7 additions and 85 deletions

View File

@ -1,73 +0,0 @@
" fresh palette
let g:airline#themes#fresh#palette = {}
" NORMAL mode
let s:N1 = ['#005f00', '#afdf00', 22, 148, '']
let s:N2 = ['#ffffff', '#005f00', 15, 22, '']
let s:N3 = ['#ffffff', '#121212', 15, 233, 'bold']
let s:W = ['#000000', '#8700df', 232, 92, '']
let s:E = ['#000000', '#990000', 232, 160]
let g:airline#themes#fresh#palette.normal =
\ airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#fresh#palette.normal.airline_warning = s:W
let g:airline#themes#fresh#palette.normal.airline_error = s:E
let g:airline#themes#fresh#palette.normal_modified = {
\ 'airline_c': ['#ffffff', '#5f0087', 15, 53, 'bold'], }
" INSERT mode
let s:I1 = ['#0000df', '#00dfff', 20, 45, '']
let s:I2 = ['#ffffff', '#005fdf', 15, 26, '']
let s:I3 = ['#ffffff', '#121212', 15, 233, 'bold']
let g:airline#themes#fresh#palette.insert =
\ airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#fresh#palette.insert.airline_warning = s:W
let g:airline#themes#fresh#palette.insert.airline_error = s:E
let g:airline#themes#fresh#palette.insert_modified =
\ g:airline#themes#fresh#palette.normal_modified
let g:airline#themes#fresh#palette.insert_paste = {
\ 'airline_a': [s:I1[0], '#ffff00', s:I1[2], 11, ''], }
" REPLACE mode
let s:R1 = [s:I2[0], '#af0000', s:I2[2], 124, '']
let s:R2 = ['#ffffff', '#5f0000', 15, 52, '']
let s:R3 = ['#ffffff', '#121212', 15, 233, 'bold']
let g:airline#themes#fresh#palette.replace =
\ airline#themes#generate_color_map(s:R1, s:R2, s:R3)
let g:airline#themes#fresh#palette.replace.airline_warning = s:W
let g:airline#themes#fresh#palette.replace.airline_error = s:E
let g:airline#themes#fresh#palette.replace_modified =
\ g:airline#themes#fresh#palette.normal_modified
" VISAUL mode
let s:V1 = ['#ff5f00', '#ff5f00', 52, 208, '']
let s:V2 = ['#ffffff', '#005f00', 15, 124, '']
let s:V3 = ['#ffffff', '#121212', 15, 233, 'bold']
let g:airline#themes#fresh#palette.visual =
\ airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#fresh#palette.visual.airline_warning = s:W
let g:airline#themes#fresh#palette.visual.airline_error = s:E
let g:airline#themes#fresh#palette.visual_modified =
\ g:airline#themes#fresh#palette.normal_modified
" INACTIVE mode
let s:IA1 = ['#4e4e4e', '#1c1c1c', 239, 234, '']
let s:IA2 = ['#4e4e4e', '#262626', 239, 235, '']
let s:IA3 = ['#ffffff', '#121212', 15, 233, 'bold']
let g:airline#themes#fresh#palette.inactive =
\ airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
let g:airline#themes#fresh#palette.inactive.airline_warning = s:IA2
let g:airline#themes#fresh#palette.inactive.airline_error = s:IA2
let g:airline#themes#fresh#palette.inactive_modified = {
\ 'airline_c': ['#875faf', '', 97, '', ''], }
let g:airline#themes#fresh#palette.accents = {
\ 'red': [ '#ff0000' , '' , 160 , '' ] }
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let g:airline#themes#fresh#palette.ctrlp =
\ airline#extensions#ctrlp#generate_color_map(
\ ['#d7d7ff', '#5f00af', 189, 55, ''],
\ ['#ffffff', '#875fd7', 231, 98, ''],
\ ['#5f00af', '#ffffff', 55, 231, 'bold'] )

View File

@ -76,12 +76,6 @@ endfunction
" Define active statusline, this statusline is dynamic with StatusLineLight " Define active statusline, this statusline is dynamic with StatusLineLight
" being updated based on the current mode and only used for current buffer. " being updated based on the current mode and only used for current buffer.
function! statusline#active() function! statusline#active()
" TODO: Specialize for:
" * [x] help
" * [x] quickfix
" * [x] location
" * [ ] preview
" * [x] terminal
let l:mode = statusline#mode() let l:mode = statusline#mode()
if &buftype ==# 'help' if &buftype ==# 'help'
if l:mode ==# 'Normal' if l:mode ==# 'Normal'
@ -99,6 +93,11 @@ function! statusline#active()
\ get(l:info['variables'], 'quickfix_title', '')) \ get(l:info['variables'], 'quickfix_title', ''))
elseif &buftype ==# 'terminal' elseif &buftype ==# 'terminal'
return statusline#special('StatusLineLight', 'Terminal', '%f') return statusline#special('StatusLineLight', 'Terminal', '%f')
elseif &previewwindow
if l:mode ==# 'Normal'
let l:mode = 'Preview'
endif
return statusline#generic('StatusLineLight', l:mode)
endif endif
return statusline#generic('StatusLineLight', l:mode) return statusline#generic('StatusLineLight', l:mode)
endfunction endfunction
@ -106,12 +105,6 @@ endfunction
" Define inactive statusline, this remains static until the buffer gains " Define inactive statusline, this remains static until the buffer gains
" focus again. " focus again.
function! statusline#inactive() function! statusline#inactive()
" TODO: Specialize for:
" * [x] help
" * [x] quickfix
" * [x] location
" * [ ] preview
" * [x] terminal
if &buftype ==# 'help' if &buftype ==# 'help'
let l:statusline = statusline#special('StatusLineDusk', 'Help', '%F') let l:statusline = statusline#special('StatusLineDusk', 'Help', '%F')
elseif &buftype ==# 'quickfix' elseif &buftype ==# 'quickfix'
@ -123,6 +116,8 @@ function! statusline#inactive()
\ get(l:info['variables'], 'quickfix_title', '')) \ get(l:info['variables'], 'quickfix_title', ''))
elseif &buftype ==# 'terminal' elseif &buftype ==# 'terminal'
let l:statusline = statusline#special('StatusLineDusk', 'Terminal', '%f') let l:statusline = statusline#special('StatusLineDusk', 'Terminal', '%f')
elseif &previewwindow
let l:statusline = statusline#generic('StatusLineDark', 'Preview')
else else
let l:statusline = statusline#generic('StatusLineDusk', 'Idle') let l:statusline = statusline#generic('StatusLineDusk', 'Idle')
endif endif