dblume commited on 2024-03-18 19:06:42
Showing 2 changed files, with 30 additions and 10 deletions.
| ... | ... |
@@ -77,6 +77,13 @@ function! GitBranch() |
| 77 | 77 |
return strlen(l:branchname) > 0 ? ' │ '.l:branchname : '' |
| 78 | 78 |
endfunction |
| 79 | 79 |
|
| 80 |
+function! EncodingAndFormat() |
|
| 81 |
+ if (len(&fileencoding) && &fileencoding != 'utf-8') || &fileformat != 'unix' |
|
| 82 |
+ return &fileencoding?&fileencoding:&encoding .'['. &fileformat . '] │ ' |
|
| 83 |
+ endif |
|
| 84 |
+ return '' |
|
| 85 |
+endfunction |
|
| 86 |
+ |
|
| 80 | 87 |
function! Current_mode() |
| 81 | 88 |
let l:currentmode={
|
| 82 | 89 |
\ 'n' : 'NORMAL', |
| ... | ... |
@@ -112,9 +119,8 @@ set statusline+=\ %= |
| 112 | 119 |
set statusline+=%h |
| 113 | 120 |
set statusline+=\ %{Trim_brackets(&filetype)}
|
| 114 | 121 |
set statusline+=\ %#StatusLineNC# |
| 115 |
-set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
|
|
| 116 |
-set statusline+=\[%{&fileformat}\]
|
|
| 117 |
-set statusline+=\ │\ %p%%\ of |
|
| 122 |
+set statusline+=\ %{b:enc_fmt}
|
|
| 123 |
+set statusline+=%p%%\ of |
|
| 118 | 124 |
set statusline+=\ %L\ |
| 119 | 125 |
|
| 120 | 126 |
" Fast saving |
| ... | ... |
@@ -282,8 +288,12 @@ if has("autocmd")
|
| 282 | 288 |
" ...except for gitcommit where we always want to start at the top |
| 283 | 289 |
autocmd FileType gitcommit exe "normal! gg" |
| 284 | 290 |
|
| 285 |
- autocmd BufNewFile,BufReadPost * let b:git_branch = GitBranch() |
|
| 286 |
- autocmd BufEnter * let b:git_branch = GitBranch() |
|
| 291 |
+ autocmd BufNewFile,BufReadPost * |
|
| 292 |
+ \ let b:git_branch = GitBranch() | |
|
| 293 |
+ \ let b:enc_fmt = EncodingAndFormat() |
|
| 294 |
+ autocmd BufEnter * |
|
| 295 |
+ \ let b:git_branch = GitBranch() | |
|
| 296 |
+ \ let b:enc_fmt = EncodingAndFormat() |
|
| 287 | 297 |
endif |
| 288 | 298 |
|
| 289 | 299 |
" This requires vim to be compiled with +python |
| ... | ... |
@@ -99,6 +99,13 @@ function! GitBranch() |
| 99 | 99 |
return strlen(l:branchname) > 0 ? ' │ '.l:branchname : '' |
| 100 | 100 |
endfunction |
| 101 | 101 |
|
| 102 |
+function! EncodingAndFormat() |
|
| 103 |
+ if (len(&fileencoding) && &fileencoding != 'utf-8') || &fileformat != 'unix' |
|
| 104 |
+ return &fileencoding?&fileencoding:&encoding .'['. &fileformat . '] │ ' |
|
| 105 |
+ endif |
|
| 106 |
+ return '' |
|
| 107 |
+endfunction |
|
| 108 |
+ |
|
| 102 | 109 |
function! Current_mode() |
| 103 | 110 |
let l:currentmode={
|
| 104 | 111 |
\ 'n' : 'NORMAL', |
| ... | ... |
@@ -134,9 +141,8 @@ set statusline+=\ %= |
| 134 | 141 |
set statusline+=%h |
| 135 | 142 |
set statusline+=\ %{Trim_brackets(&filetype)}
|
| 136 | 143 |
set statusline+=\ %#StatusLineNC# |
| 137 |
-set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
|
|
| 138 |
-set statusline+=\[%{&fileformat}\]
|
|
| 139 |
-set statusline+=\ │\ %p%%\ of |
|
| 144 |
+set statusline+=\ %{b:enc_fmt}
|
|
| 145 |
+set statusline+=%p%%\ of |
|
| 140 | 146 |
set statusline+=\ %L\ |
| 141 | 147 |
|
| 142 | 148 |
set encoding=utf-8 |
| ... | ... |
@@ -311,8 +317,12 @@ if has("autocmd")
|
| 311 | 317 |
" ...except for gitcommit where we always want to start at the top |
| 312 | 318 |
autocmd FileType gitcommit exe "normal! gg" |
| 313 | 319 |
|
| 314 |
- autocmd BufNewFile,BufReadPost * let b:git_branch = GitBranch() |
|
| 315 |
- autocmd BufEnter * let b:git_branch = GitBranch() |
|
| 320 |
+ autocmd BufNewFile,BufReadPost * |
|
| 321 |
+ \ let b:git_branch = GitBranch() | |
|
| 322 |
+ \ let b:enc_fmt = EncodingAndFormat() |
|
| 323 |
+ autocmd BufEnter * |
|
| 324 |
+ \ let b:git_branch = GitBranch() | |
|
| 325 |
+ \ let b:enc_fmt = EncodingAndFormat() |
|
| 316 | 326 |
endif |
| 317 | 327 |
|
| 318 | 328 |
" This requires vim to be compiled with +python |
| 319 | 329 |