diff options
| author | Max Christian Pohle | 2021-10-09 02:23:44 +0200 |
|---|---|---|
| committer | Max Christian Pohle | 2021-10-09 02:23:44 +0200 |
| commit | bf4fadce4d57396ccbadd0493cac294fe6c69b90 (patch) | |
| tree | ab731a40012ee2db10d8291bc75608c2fca3d025 | |
| parent | 37c0222c1eb00d2ea88ca4bf8f732b71d6bcf986 (diff) | |
| download | vim-fancy-line-master.tar.bz2 vim-fancy-line-master.zip | |
| -rwxr-xr-x | plugin/vim-fancy-line.vim | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/plugin/vim-fancy-line.vim b/plugin/vim-fancy-line.vim index bfa5e1c..5cb0877 100755 --- a/plugin/vim-fancy-line.vim +++ b/plugin/vim-fancy-line.vim | |||
| @@ -5,6 +5,7 @@ augroup MAX_FANCY_LINE | |||
| 5 | set laststatus=2 | " required by AirLine and Lightline, without status line does not appear until a window split | 5 | set laststatus=2 | " required by AirLine and Lightline, without status line does not appear until a window split |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | |||
| 8 | if (&term ==? 'linux') | 9 | if (&term ==? 'linux') |
| 9 | let g:group_active = 'StatusLineTerm' | 10 | let g:group_active = 'StatusLineTerm' |
| 10 | let g:group_inactive = 'StatusLineTermNC' | 11 | let g:group_inactive = 'StatusLineTermNC' |
| @@ -27,6 +28,14 @@ augroup MAX_FANCY_LINE | |||
| 27 | let g:symbol_screen_edge = '░' | 28 | let g:symbol_screen_edge = '░' |
| 28 | endif | 29 | endif |
| 29 | 30 | ||
| 31 | """ shell calls are expensive. We only want to read the name of a Git | ||
| 32 | """ branch if there is a chance, that it has changed. | ||
| 33 | let s:git_branch = "" | ||
| 34 | function! s:updateGitBranchName() | ||
| 35 | let s:git_branch = systemlist('git branch --show-current') | ||
| 36 | let s:git_branch = (v:shell_error || s:git_branch == []) ? "" : g:status_sym_sep_start . ' ' . g:symbol_branch . ' ' . s:git_branch[0] | ||
| 37 | endfunction | ||
| 38 | autocmd DirChanged,BufRead * call s:updateGitBranchName() | ||
| 30 | 39 | ||
| 31 | " this function reverts foreground color and background color of a given | 40 | " this function reverts foreground color and background color of a given |
| 32 | " highlight group and returns the name of a newly created _invert group | 41 | " highlight group and returns the name of a newly created _invert group |
| @@ -108,8 +117,6 @@ augroup MAX_FANCY_LINE | |||
| 108 | 117 | ||
| 109 | function! UpdateTabline(highlight_group) | 118 | function! UpdateTabline(highlight_group) |
| 110 | let l:invert_group = CreateInvertGroup(a:highlight_group) | 119 | let l:invert_group = CreateInvertGroup(a:highlight_group) |
| 111 | let l:git_branch = systemlist('git branch --show-current') | ||
| 112 | let l:git_branch = (v:shell_error || l:git_branch == []) ? "" : g:status_sym_sep_start . ' ' . g:symbol_branch . ' ' . l:git_branch[0] | ||
| 113 | 120 | ||
| 114 | return '' | 121 | return '' |
| 115 | \ .'%#'.a:highlight_group.'#' | 122 | \ .'%#'.a:highlight_group.'#' |
| @@ -119,7 +126,7 @@ augroup MAX_FANCY_LINE | |||
| 119 | \ .'%-2( %)' | 126 | \ .'%-2( %)' |
| 120 | \ .'%{fnamemodify(getcwd(-1), ":~")}' | 127 | \ .'%{fnamemodify(getcwd(-1), ":~")}' |
| 121 | \ .' ' | 128 | \ .' ' |
| 122 | \ .l:git_branch | 129 | \ .s:git_branch |
| 123 | \ .' ' | 130 | \ .' ' |
| 124 | \ .'%#'.l:invert_group.'#' | 131 | \ .'%#'.l:invert_group.'#' |
| 125 | \ .g:status_sym_end | 132 | \ .g:status_sym_end |
