From 3bf5dd55acefb516d0213f105f2e03b64c72428d Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Sun, 2 Dec 2012 22:37:21 +0100 Subject: [PATCH] vimrc: Display unexpected 'fileformat'/'fileencoding' in statusline. --- vimrc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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 -- 2.45.2