From: Simon Ruderich Date: Sun, 2 Dec 2012 21:37:21 +0000 (+0100) Subject: vimrc: Display unexpected 'fileformat'/'fileencoding' in statusline. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=3bf5dd55acefb516d0213f105f2e03b64c72428d;p=config%2Fdotfiles.git vimrc: Display unexpected 'fileformat'/'fileencoding' in statusline. --- diff --git a/vimrc b/vimrc index 5993bff..7cf7362 100644 --- a/vimrc +++ b/vimrc @@ -387,6 +387,22 @@ if has('statusline') endif endfunction + " Display unexpected 'fileformat' and 'fileencoding' settings. + function! s:StatuslineFileFormat() + if &fileformat != 'unix' + return '[' . &fileformat . ']' + else + return '' + endif + endfunction + function! s:StatuslineFileEncoding() + if &fileencoding != '' && &fileencoding != 'utf-8' + return '[' . &fileencoding . ']' + else + return '' + endif + endfunction + " Return current syntax group in brackets or nothing if there's none. function! s:StatuslineSyntaxGroup() let l:group = synIDattr(synID(line('.'), col('.'), 1), 'name') @@ -404,6 +420,12 @@ if has('statusline') function! SRF() return StatuslineRelativeFilename() endfunction + function! SFF() + return StatuslineFileFormat() + endfunction + function! SFE() + return StatuslineFileEncoding() + endfunction function! SSG() return StatuslineSyntaxGroup() endfunction @@ -424,6 +446,10 @@ if has('statusline') set statusline+=%m " [+] if buffer was modified, " [-] if 'modifiable' is off set statusline+=%r " [RO] if buffer is read only + set statusline+=%#Error# " display warnings + set statusline+=%{SFF()} " - unexpected file format + set statusline+=%{SFE()} " - unexpected file encoding + set statusline+=%## " continue with normal colors " on the right set statusline+=%= " right align