From 487b2f18a2f20cb185352b9e2f3f758fdd37b3ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=20=D0=A1=D0=BE=D0=BB=D0=BD=D1=86?= =?UTF-8?q?=D0=B5=D0=B2?= Date: Tue, 6 Feb 2024 06:07:36 +0300 Subject: [PATCH] Fix displaying git branch --- autoload/justmyrc.vim | 9 +++++---- vimrc | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 8 deletions(-) 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