mirror of
https://github.com/webgefrickel/dotfiles
synced 2024-11-11 07:10:40 +00:00
39 lines
1003 B
VimL
39 lines
1003 B
VimL
function! StatuslineGitInfo()
|
|
let git = fugitive#head()
|
|
if git != ''
|
|
return " ".fugitive#head()
|
|
else
|
|
return ""
|
|
endfunction
|
|
|
|
function! StatusLinePaste()
|
|
if &paste
|
|
return "PASTE"
|
|
else
|
|
return ""
|
|
endif
|
|
endfunction
|
|
|
|
function! MyStatusLine(mode)
|
|
let statusline = ""
|
|
if a:mode == "Enter"
|
|
let statusline .= "%#StatusLineColor#"
|
|
else
|
|
let statusline .= "%#NoStatusLineColor#"
|
|
endif
|
|
let statusline .= "\ %f\ %m%r %{StatuslineGitInfo()}\ "
|
|
let statusline .= "%= "
|
|
let statusline .= "%{toupper(mode())}"
|
|
let statusline .= "\ %{StatusLinePaste()}"
|
|
let statusline .= "%= "
|
|
let statusline .= "\ %y\ %{&fileencoding?&fileencoding:&encoding}\/\%{&fileformat}\ \|\ %l:%c\ "
|
|
return statusline
|
|
endfunction
|
|
|
|
hi StatusLineColor ctermbg=white ctermfg=black
|
|
hi NoStatusLineColor ctermbg=black ctermfg=lightgrey
|
|
au WinEnter * setlocal statusline=%!MyStatusLine('Enter')
|
|
au WinLeave * setlocal statusline=%!MyStatusLine('Leave')
|
|
|
|
set statusline=%!MyStatusLine('Enter')
|