mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-12 13:23:52 -05:00
Remove indirection
This commit is contained in:
@@ -1720,9 +1720,9 @@ function! s:Write(force,...) abort
|
|||||||
silent write
|
silent write
|
||||||
setlocal buftype=nowrite
|
setlocal buftype=nowrite
|
||||||
if matchstr(getline(2),'index [[:xdigit:]]\+\.\.\zs[[:xdigit:]]\{7\}') ==# s:repo().rev_parse(':0:'.filename)[0:6]
|
if matchstr(getline(2),'index [[:xdigit:]]\+\.\.\zs[[:xdigit:]]\{7\}') ==# s:repo().rev_parse(':0:'.filename)[0:6]
|
||||||
let err = s:TreeChomp('apply','--cached','--reverse',s:buffer().spec())
|
let err = s:TreeChomp('apply', '--cached', '--reverse', expand('%:p'))
|
||||||
else
|
else
|
||||||
let err = s:TreeChomp('apply','--cached',s:buffer().spec())
|
let err = s:TreeChomp('apply', '--cached', expand('%:p'))
|
||||||
endif
|
endif
|
||||||
if err !=# ''
|
if err !=# ''
|
||||||
let v:errmsg = split(err,"\n")[0]
|
let v:errmsg = split(err,"\n")[0]
|
||||||
@@ -2101,7 +2101,7 @@ function! s:Move(force, rename, destination) abort
|
|||||||
else
|
else
|
||||||
let destination = a:destination
|
let destination = a:destination
|
||||||
endif
|
endif
|
||||||
if isdirectory(s:buffer().spec())
|
if isdirectory(@%)
|
||||||
setlocal noswapfile
|
setlocal noswapfile
|
||||||
endif
|
endif
|
||||||
let message = call('s:TreeChomp', ['mv'] + (a:force ? ['-f'] : []) + ['--', s:Relative(''), destination])
|
let message = call('s:TreeChomp', ['mv'] + (a:force ? ['-f'] : []) + ['--', s:Relative(''), destination])
|
||||||
@@ -3001,30 +3001,28 @@ endfunction
|
|||||||
|
|
||||||
function! s:cfile() abort
|
function! s:cfile() abort
|
||||||
try
|
try
|
||||||
let buffer = s:buffer()
|
let myhash = s:DirRev(@%)[1]
|
||||||
|
if len(myhash)
|
||||||
if buffer.spec() =~? '^fugitive:' || buffer.spec() =~# '\.git/refs/\|\.git/.*HEAD$'
|
try
|
||||||
let myhash = buffer.repo().rev_parse(buffer.rev())
|
let myhash = s:repo().rev_parse(myhash)
|
||||||
else
|
catch /^fugitive:/
|
||||||
let myhash = ''
|
let myhash = ''
|
||||||
|
endtry
|
||||||
endif
|
endif
|
||||||
if myhash ==# '' && getline(1) =~# '^\%(commit\|tag\) \w'
|
if empty(myhash) && getline(1) =~# '^\%(commit\|tag\) \w'
|
||||||
let myhash = matchstr(getline(1),'^\w\+ \zs\S\+')
|
let myhash = matchstr(getline(1),'^\w\+ \zs\S\+')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if buffer.type('tree')
|
let treebase = s:DirCommitFile(@%)[1].':'.s:Relative('').(s:Relative('') =~# '^$\|/$' ? '' : '/')
|
||||||
let showtree = (getline(1) =~# '^tree ' && getline(2) == "")
|
if treebase !~# '^\d\=:' && getline('.') =~# '^\d\{6\} \l\{3,8\} \x\{40\}\t'
|
||||||
let base = s:DirCommitFile(@%)[1].':'.s:Relative('').(s:Relative('') =~# '^$\|/$' ? '' : '/')
|
return [treebase . s:sub(matchstr(getline('.'),'\t\zs.*'),'/$','')]
|
||||||
if showtree && line('.') > 2
|
elseif treebase !~# '^\d\=:' && getline(1) =~# '^tree ' && empty(getline(2)) && line('.') >= 2
|
||||||
return [base . s:sub(getline('.'),'/$','')]
|
return [treebase . s:sub(getline('.'),'/$','')]
|
||||||
elseif getline('.') =~# '^\d\{6\} \l\{3,8\} \x\{40\}\t'
|
|
||||||
return [base . s:sub(matchstr(getline('.'),'\t\zs.*'),'/$','')]
|
|
||||||
endif
|
|
||||||
|
|
||||||
elseif buffer.type('blob')
|
elseif get(b:, 'fugitive_type', '') ==# 'blob'
|
||||||
let ref = expand("<cfile>")
|
let ref = expand("<cfile>")
|
||||||
try
|
try
|
||||||
let sha1 = buffer.repo().rev_parse(ref)
|
let sha1 = s:repo().rev_parse(ref)
|
||||||
catch /^fugitive:/
|
catch /^fugitive:/
|
||||||
endtry
|
endtry
|
||||||
if exists('sha1')
|
if exists('sha1')
|
||||||
@@ -3096,7 +3094,7 @@ function! s:cfile() abort
|
|||||||
let type = matchstr(getline(line('.')+1),'type \zs.*')
|
let type = matchstr(getline(line('.')+1),'type \zs.*')
|
||||||
|
|
||||||
elseif getline('.') =~# '^\l\{3,8\} '.myhash.'$'
|
elseif getline('.') =~# '^\l\{3,8\} '.myhash.'$'
|
||||||
let ref = buffer.rev()
|
let ref = s:buffer().rev()
|
||||||
|
|
||||||
elseif getline('.') =~# '^\l\{3,8\} \x\{40\}\>'
|
elseif getline('.') =~# '^\l\{3,8\} \x\{40\}\>'
|
||||||
let ref = matchstr(getline('.'),'\x\{40\}')
|
let ref = matchstr(getline('.'),'\x\{40\}')
|
||||||
|
|||||||
Reference in New Issue
Block a user