Switch out new and old official functions

This commit is contained in:
Tim Pope 2018-05-28 17:59:19 -04:00
parent b129752c07
commit 01e7a7e1e6
2 changed files with 71 additions and 63 deletions

View File

@ -346,16 +346,16 @@ HEAD^:Makefile The file named Makefile in the parent of HEAD
STATUSLINE *fugitive-statusline*
*fugitive#statusline()*
Add %{fugitive#statusline()} to your statusline to get an indicator including
*FugitiveStatusline()* *fugitive#statusline()*
Add %{FugitiveStatusline()} to your statusline to get an indicator including
the current branch and the currently edited file's commit. If you don't have
a statusline, this one matches the default when 'ruler' is set:
>
set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P
set statusline=%<%f\ %h%m%r%{FugitiveStatusline()}%=%-14.(%l,%c%V%)\ %P
<
*fugitive#head(...)*
Use fugitive#head() to return the name of the current branch. If the current
HEAD is detached, fugitive#head() will return the empty string, unless the
*FugitiveHead(...)* *fugitive#head(...)*
Use FugitiveHead() to return the name of the current branch. If the current
HEAD is detached, FugitiveHead() will return the empty string, unless the
optional argument is given, in which case the hash of the current commit will
be truncated to the given number of characters.

View File

@ -153,18 +153,18 @@ let s:abstract_prototype = {}
" Section: Initialization
function! fugitive#is_git_dir(path) abort
function! FugitiveIsGitDir(path) abort
let path = s:sub(a:path, '[\/]$', '') . '/'
return getfsize(path.'HEAD') > 10 && (
\ isdirectory(path.'objects') && isdirectory(path.'refs') ||
\ getftype(path.'commondir') ==# 'file')
endfunction
function! FugitiveIsGitDir(path) abort
return fugitive#is_git_dir(a:path)
function! fugitive#is_git_dir(path) abort
return FugitiveIsGitDir(a:path)
endfunction
function! fugitive#extract_git_dir(path) abort
function! FugitiveExtractGitDir(path) abort
if s:shellslash(a:path) =~# '^fugitive://.*//'
return matchstr(s:shellslash(a:path), '\C^fugitive://\zs.\{-\}\ze//')
endif
@ -185,10 +185,10 @@ function! fugitive#extract_git_dir(path) abort
if index(split($GIT_CEILING_DIRECTORIES, ':'), root) >= 0
break
endif
if root ==# $GIT_WORK_TREE && fugitive#is_git_dir($GIT_DIR)
if root ==# $GIT_WORK_TREE && FugitiveIsGitDir($GIT_DIR)
return simplify(fnamemodify(expand($GIT_DIR), ':p:s?[\/]$??'))
endif
if fugitive#is_git_dir($GIT_DIR)
if FugitiveIsGitDir($GIT_DIR)
" Ensure that we've cached the worktree
call s:configured_tree(simplify(fnamemodify(expand($GIT_DIR), ':p:s?[\/]$??')))
if has_key(s:dir_for_worktree, root)
@ -197,18 +197,18 @@ function! fugitive#extract_git_dir(path) abort
endif
let dir = s:sub(root, '[\/]$', '') . '/.git'
let type = getftype(dir)
if type ==# 'dir' && fugitive#is_git_dir(dir)
if type ==# 'dir' && FugitiveIsGitDir(dir)
return dir
elseif type ==# 'link' && fugitive#is_git_dir(dir)
elseif type ==# 'link' && FugitiveIsGitDir(dir)
return resolve(dir)
elseif type !=# '' && filereadable(dir)
let line = get(readfile(dir, '', 1), 0, '')
if line =~# '^gitdir: \.' && fugitive#is_git_dir(root.'/'.line[8:-1])
if line =~# '^gitdir: \.' && FugitiveIsGitDir(root.'/'.line[8:-1])
return simplify(root.'/'.line[8:-1])
elseif line =~# '^gitdir: ' && fugitive#is_git_dir(line[8:-1])
elseif line =~# '^gitdir: ' && FugitiveIsGitDir(line[8:-1])
return line[8:-1]
endif
elseif fugitive#is_git_dir(root)
elseif FugitiveIsGitDir(root)
return root
endif
let previous = root
@ -217,16 +217,16 @@ function! fugitive#extract_git_dir(path) abort
return ''
endfunction
function! FugitiveExtractGitDir(path) abort
return fugitive#extract_git_dir(a:path)
function! fugitive#extract_git_dir(path) abort
return FugitiveExtractGitDir(a:path)
endfunction
function! fugitive#detect(path) abort
function! FugitiveDetect(path) abort
if exists('b:git_dir') && (b:git_dir ==# '' || b:git_dir =~# '/$')
unlet b:git_dir
endif
if !exists('b:git_dir')
let dir = fugitive#extract_git_dir(a:path)
let dir = FugitiveExtractGitDir(a:path)
if dir !=# ''
let b:git_dir = dir
if empty(fugitive#buffer().path())
@ -269,17 +269,17 @@ function! fugitive#detect(path) abort
endif
endfunction
function! FugitiveDetect(path) abort
return fugitive#detect(a:path)
function! fugitive#detect(path) abort
return FugitiveDetect(a:path)
endfunction
augroup fugitive
autocmd!
autocmd BufNewFile,BufReadPost * call fugitive#detect(expand('%:p'))
autocmd FileType netrw call fugitive#detect(expand('%:p'))
autocmd User NERDTreeInit,NERDTreeNewRoot call fugitive#detect(b:NERDTree.root.path.str())
autocmd VimEnter * if expand('<amatch>')==''|call fugitive#detect(getcwd())|endif
autocmd CmdWinEnter * call fugitive#detect(expand('#:p'))
autocmd BufNewFile,BufReadPost * call FugitiveDetect(expand('%:p'))
autocmd FileType netrw call FugitiveDetect(expand('%:p'))
autocmd User NERDTreeInit,NERDTreeNewRoot call FugitiveDetect(b:NERDTree.root.path.str())
autocmd VimEnter * if expand('<amatch>')==''|call FugitiveDetect(getcwd())|endif
autocmd CmdWinEnter * call FugitiveDetect(expand('#:p'))
autocmd BufWinLeave * execute getwinvar(+bufwinnr(+expand('<abuf>')), 'fugitive_leave')
augroup END
@ -291,7 +291,7 @@ let s:worktree_for_dir = {}
let s:dir_for_worktree = {}
function! s:repo(...) abort
let dir = a:0 ? a:1 : (exists('b:git_dir') && b:git_dir !=# '' ? b:git_dir : fugitive#extract_git_dir(expand('%:p')))
let dir = a:0 ? a:1 : (exists('b:git_dir') && b:git_dir !=# '' ? b:git_dir : FugitiveExtractGitDir(expand('%:p')))
if dir !=# ''
if has_key(s:repos, dir)
let repo = get(s:repos, dir)
@ -774,7 +774,7 @@ function! s:Git(bang, mods, args) abort
else
call s:ExecuteInTree('!'.git.' '.args)
if has('win32')
call fugitive#reload_status()
call fugitive#ReloadStatus()
endif
endif
return matchstr(a:args, '\v\C\\@<!%(\\\\)*\|\zs.*')
@ -812,8 +812,8 @@ call s:command("-bar -bang -range=-1 Gstatus :execute s:Status(<bang>0, <count>,
augroup fugitive_status
autocmd!
if !has('win32')
autocmd FocusGained,ShellCmdPost * call fugitive#reload_status()
autocmd BufDelete term://* call fugitive#reload_status()
autocmd FocusGained,ShellCmdPost * call fugitive#ReloadStatus()
autocmd BufDelete term://* call fugitive#ReloadStatus()
endif
augroup END
@ -829,7 +829,7 @@ function! s:Status(bang, count, mods) abort
return ''
endfunction
function! fugitive#reload_status() abort
function! fugitive#ReloadStatus() abort
if exists('s:reloading_status')
return
endif
@ -862,8 +862,8 @@ function! fugitive#reload_status() abort
endtry
endfunction
function! fugitive#ReloadStatus() abort
return fugitive#reload_status()
function! fugitive#reload_status() abort
return fugitive#ReloadStatus()
endfunction
function! s:stage_info(lnum) abort
@ -1187,7 +1187,7 @@ function! s:Commit(mods, args, ...) abort
endif
call delete(outfile)
call delete(errorfile)
call fugitive#reload_status()
call fugitive#ReloadStatus()
endtry
endfunction
@ -1305,7 +1305,7 @@ function! s:Merge(cmd, bang, args) abort
endif
execute cd fnameescape(cwd)
endtry
call fugitive#reload_status()
call fugitive#ReloadStatus()
if empty(filter(getqflist(),'v:val.valid'))
if !had_merge_msg && filereadable(s:repo().dir('MERGE_MSG'))
cclose
@ -1465,7 +1465,7 @@ function! s:Edit(cmd, bang, mods, ...) abort
if a:cmd ==# 'read'
silent execute '1,'.last.'delete_'
endif
call fugitive#reload_status()
call fugitive#ReloadStatus()
diffupdate
return 'redraw|echo '.string(':!'.git.' '.args)
else
@ -1681,7 +1681,7 @@ function! s:Write(force,...) abort
endif
endfor
endfor
call fugitive#reload_status()
call fugitive#ReloadStatus()
return 'checktime'
endfunction
@ -1954,7 +1954,7 @@ function! s:Move(force, rename, destination) abort
if isdirectory(destination)
let destination = fnamemodify(s:sub(destination,'/$','').'/'.expand('%:t'),':.')
endif
call fugitive#reload_status()
call fugitive#ReloadStatus()
if empty(s:buffer().commit())
if isdirectory(destination)
return 'keepalt edit '.s:fnameescape(destination)
@ -2002,7 +2002,7 @@ function! s:Remove(after, force) abort
let v:errmsg = 'fugitive: '.s:sub(message,'error:.*\zs\n\(.*-f.*',' (add ! to force)')
return 'echoerr '.string(v:errmsg)
else
call fugitive#reload_status()
call fugitive#ReloadStatus()
return a:after . (a:force ? '!' : '')
endif
endfunction
@ -2621,7 +2621,7 @@ function! s:BufReadIndex() abort
execute cd s:fnameescape(dir)
endtry
set ft=gitcommit
set foldtext=fugitive#foldtext()
set foldtext=fugitive#Foldtext()
endif
setlocal ro noma nomod noswapfile
if &bufhidden ==# ''
@ -2667,7 +2667,7 @@ endfunction
function! s:FileRead() abort
try
let repo = s:repo(fugitive#extract_git_dir(expand('<amatch>')))
let repo = s:repo(FugitiveExtractGitDir(expand('<amatch>')))
let path = s:sub(s:sub(matchstr(expand('<amatch>'),'fugitive://.\{-\}//\zs.*'),'/',':'),'^\d:',':&')
let hash = repo.rev_parse(path)
if path =~ '^:'
@ -2726,7 +2726,7 @@ function! s:BufWriteIndexFile() abort
if exists('#BufWritePost')
execute 'doautocmd BufWritePost '.s:fnameescape(expand('%:p'))
endif
call fugitive#reload_status()
call fugitive#ReloadStatus()
return ''
else
return 'echoerr '.string('fugitive: '.error)
@ -2823,7 +2823,7 @@ endfunction
augroup fugitive_files
autocmd!
autocmd BufReadCmd index{,.lock}
\ if fugitive#is_git_dir(expand('<amatch>:p:h')) |
\ if FugitiveIsGitDir(expand('<amatch>:p:h')) |
\ exe s:BufReadIndex() |
\ elseif filereadable(expand('<amatch>')) |
\ read <amatch> |
@ -2857,7 +2857,7 @@ augroup fugitive_temp
\ let b:git_dir = s:temp_files[s:cpath(expand('<afile>:p'))].dir |
\ let b:git_type = 'temp' |
\ let b:git_args = s:temp_files[s:cpath(expand('<afile>:p'))].args |
\ call fugitive#detect(expand('<afile>:p')) |
\ call FugitiveDetect(expand('<afile>:p')) |
\ setlocal bufhidden=delete nobuflisted |
\ nnoremap <buffer> <silent> q :<C-U>bdelete<CR>|
\ endif
@ -2867,7 +2867,7 @@ augroup END
nnoremap <SID>: :<C-U><C-R>=v:count ? v:count : ''<CR>
function! s:GFInit(...) abort
cnoremap <buffer> <expr> <Plug><cfile> fugitive#cfile()
cnoremap <buffer> <expr> <Plug><cfile> fugitive#Cfile()
if !exists('g:fugitive_no_maps')
call s:map('n', 'gf', '<SID>:find <Plug><cfile><CR>', '<silent><unique>')
call s:map('n', '<C-W>f', '<SID>:sfind <Plug><cfile><CR>', '<silent><unique>')
@ -3089,7 +3089,7 @@ function! s:GF(mode) abort
endif
endfunction
function! fugitive#cfile() abort
function! fugitive#Cfile() abort
let pre = ''
let results = s:cfile()
if empty(results)
@ -3104,8 +3104,8 @@ function! fugitive#cfile() abort
return pre . s:fnameescape(fugitive#repo().translate(results[0]))
endfunction
function! fugitive#Cfile() abort
return fugitive#cfile()
function! fugitive#cfile() abort
return fugitive#Cfile()
endfunction
" Section: Statusline
@ -3119,7 +3119,7 @@ endfunction
call s:add_methods('repo',['head_ref'])
function! fugitive#statusline(...) abort
function! fugitive#Statusline(...) abort
if !exists('b:git_dir')
return ''
endif
@ -3127,7 +3127,7 @@ function! fugitive#statusline(...) abort
if s:buffer().commit() != ''
let status .= ':' . s:buffer().commit()[0:7]
endif
let status .= '('.fugitive#head(7).')'
let status .= '('.FugitiveHead(7).')'
if &statusline =~# '%[MRHWY]' && &statusline !~# '%[mrhwy]'
return ',GIT'.status
else
@ -3135,12 +3135,24 @@ function! fugitive#statusline(...) abort
endif
endfunction
function! fugitive#Statusline(...) abort
return fugitive#statusline()
function! fugitive#statusline(...) abort
return fugitive#Statusline()
endfunction
function! FugitiveStatusline(...) abort
return fugitive#statusline()
if !exists('b:git_dir')
return ''
endif
return fugitive#Statusline()
endfunction
function! FugitiveHead(...) abort
if !exists('b:git_dir')
return ''
endif
return fugitive#repo().head(a:0 ? a:1 : 0)
endfunction
function! fugitive#head(...) abort
@ -3151,18 +3163,14 @@ function! fugitive#head(...) abort
return s:repo().head(a:0 ? a:1 : 0)
endfunction
function! FugitiveHead(...) abort
return fugitive#head(a:0 ? a:1 : 0)
endfunction
augroup fugitive_statusline
autocmd!
autocmd User Flags call Hoist('buffer', function('fugitive#statusline'))
autocmd User Flags call Hoist('buffer', function('FugitiveStatusline'))
augroup END
" Section: Folding
function! fugitive#foldtext() abort
function! fugitive#Foldtext() abort
if &foldmethod !=# 'syntax'
return foldtext()
endif
@ -3205,8 +3213,8 @@ function! fugitive#foldtext() abort
return foldtext()
endfunction
function! fugitive#Foldtext() abort
return fugitive#foldtext()
function! fugitive#foldtext() abort
return fugitive#Foldtext()
endfunction
augroup fugitive_foldtext