diff --git a/autoload/justmyrc.vim b/autoload/justmyrc.vim index 6f98f67..3b9d44f 100644 --- a/autoload/justmyrc.vim +++ b/autoload/justmyrc.vim @@ -1,5 +1,7 @@ " === Пользовательские функции === "Функция получения текущего режима редактора +let g:git_branch = "" + function justmyrc#GetMode() let l:editor_mode = mode() @@ -38,10 +40,9 @@ function justmyrc#GetMode() endif endfunction -function justmyrc#GetBranchName() - let l:status = trim(system("git rev-parse --abbrev-ref HEAD 2> /dev/null | tr -d '\r\n'")) - - return l:status +function justmyrc#GetBranchName(filename) + let l:cur_dir = fnamemodify(system("readlink -f " . a:filename), ":h") + let g:git_branch = trim(system("git -C " . l:cur_dir . " rev-parse --abbrev-ref HEAD 2> /dev/null | tr -d '\r\n'")) endfunction function justmyrc#TabLine() diff --git a/vimrc b/vimrc index 0c37f05..94e917e 100644 --- a/vimrc +++ b/vimrc @@ -34,7 +34,7 @@ set statusline+=%#StatusLineEmpty#%= set statusline+=%#StatusLineReadOnlyFlag#\ %r set statusline+=%#StatusLineEncoding#\ %{&fileencoding?&fileencoding:&encoding}\ set statusline+=%#StatusLineRuler#\ %v:%l\ (%p%%)\ -set statusline+=%#StatusLineBranchName#\ %{justmyrc#GetBranchName()}\ +set statusline+=%#StatusLineBranchName#\ %{g:git_branch}\ "Выключает перенос строк set nowrap @@ -69,10 +69,18 @@ set guioptions-=r imap jk "Автонастройка для определенных типов файлов -autocmd BufEnter *.py set colorcolumn=80 -autocmd BufLeave *.py set colorcolumn=0 +augroup GitBranch + autocmd! + autocmd BufEnter,ShellCmdPost,FileChangedShellPost * call justmyrc#GetBranchName(expand("%")) + autocmd BufLeave * let g:git_branch = "" +augroup END -autocmd BufEnter *.py compiler pycodestyle +augroup Python + autocmd BufEnter *.py set colorcolumn=80 + autocmd BufLeave *.py set colorcolumn=0 + + autocmd BufEnter *.py compiler pycodestyle +augroup END autocmd BufEnter *.md set wrap autocmd BufEnter *.md set colorcolumn=80