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')
function! SRF()
return <SID>StatuslineRelativeFilename()
endfunction
+ function! SFF()
+ return <SID>StatuslineFileFormat()
+ endfunction
+ function! SFE()
+ return <SID>StatuslineFileEncoding()
+ endfunction
function! SSG()
return <SID>StatuslineSyntaxGroup()
endfunction
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