Back (Current repo: dotfiles)

my dotfiles to make it easy to transfer my settings
To clone this repository:
git clone https://git.viktor1993.net/dotfiles.git
Log | Download | Files | Refs

statusline.vim (2571B)


"statusline, remove git related functions if we are exploring directories
if isdirectory(expand('%'))
    set laststatus=2
    set statusline=                          " left align
    set statusline+=%2*\                     " blank char
    set statusline+=%2*\ 0
    set statusline+=%2*\
    set statusline+=%1*\ <<
    set statusline+=%1*\ %f                  " short filename
    set statusline+=%1*\ >>
    set statusline+=%=                       " right align
    set statusline+=%*
    set statusline+=%3*\%h%m%r               " file flags (help, read-only, modified)
    set statusline+=%4*\ 0
    set statusline+=%3*\%.25F                " long filename (trimmed to 25 chars)
    set statusline+=%3*\::
    set statusline+=%3*\%l/%L\\|             " line count
    set statusline+=%3*\%y                   " file type
else
    set laststatus=2
    set statusline=                          " left align
    set statusline+=%2*\                     " blank char
    set statusline+=%2*\%{b:gitdiffs}        " include info about committed changes between current branch and master
    set statusline+=%2*\
    set statusline+=%1*\ <<
    set statusline+=%1*\ %f                  " short filename
    set statusline+=%1*\ >>
    set statusline+=%=                       " right align
    set statusline+=%*
    set statusline+=%3*\%h%m%r               " file flags (help, read-only, modified)
    set statusline+=%4*\%{b:gitbranch}       " include git branch
    set statusline+=%3*\%.25F                " long filename (trimmed to 25 chars)
    set statusline+=%3*\::
    set statusline+=%3*\%l/%L\\|             " line count
    set statusline+=%3*\%y                   " file type
    hi User1 ctermbg=black ctermfg=grey guibg=black guifg=grey
    hi User2 ctermbg=green ctermfg=black guibg=green guifg=black
    hi User3 ctermbg=black ctermfg=lightgreen guibg=black guifg=lightgreen
endif

"statusline helper functions

function! StatuslineGitBranch()
  let b:gitbranch=""
  let b:gitdiffs=""
  if &modifiable
    try
      lcd %:p:h
    catch
      return
    endtry
    let l:gitrevparse=system("git rev-parse --abbrev-ref HEAD")
    lcd -
    if l:gitrevparse!~"fatal: not a git repository"
        "name of our git branch, if we are in one
        let b:gitbranch="(".substitute(l:gitrevparse, '\n', '', 'g').") "
        "short info about committed changes of this branch vs master
        let b:gitdiffs=system('git diff --shortstat  $(git branch --show-current 2>/dev/null)  master 2>/dev/null | sed -E "s/([a-z ]+)
//g"')
    endif
  endif
endfunction