use commit hash as git branch with detached HEAD

Abbreviated to 7 characters to match `git rev-parse --short HEAD`.
This commit is contained in:
Andrew Gregory 2014-08-20 18:52:15 -04:00
parent f0e00620c0
commit 83a7e30790

View File

@ -21,7 +21,12 @@ function! s:get_git_branch(path)
else
try
let line = join(readfile(dir . '/HEAD'))
let name = strpart(line, 16)
if strpart(line, 0, 16) == 'ref: refs/heads/'
let name = strpart(line, 16)
else
" raw commit hash
let name = strpart(line, 0, 7)
endif
catch
let name = ''
endtry
@ -39,7 +44,7 @@ function! airline#extensions#branch#head()
let b:airline_head = ''
if s:has_fugitive && !exists('b:mercurial_dir')
let b:airline_head = fugitive#head()
let b:airline_head = fugitive#head(7)
if empty(b:airline_head) && !exists('b:git_dir')
let b:airline_head = s:get_git_branch(expand("%:p:h"))