Simplify conditional around :GBrowse line number computation

This is solely to improve the readability of upcoming diffs.
This commit is contained in:
Tim Pope
2022-06-17 23:00:40 -04:00
parent bef885fd00
commit 763f42cab5

View File

@@ -7369,27 +7369,24 @@ function! fugitive#BrowseCommand(line1, count, range, bang, mods, arg, ...) abor
let line1 = a:count > 0 && type ==# 'blob' ? a:line1 : 0 let line1 = a:count > 0 && type ==# 'blob' ? a:line1 : 0
let line2 = a:count > 0 && type ==# 'blob' ? a:count : 0 let line2 = a:count > 0 && type ==# 'blob' ? a:count : 0
if empty(commit) && path !~# '^\.git/' if empty(commit) && path !~# '^\.git/'
if a:count < 0 && !empty(merge) if a:count < 0
let commit = merge let commit = merge
else elseif len(merge)
let commit = '' let owner = s:Owner(@%, dir)
if len(merge) let commit = s:ChompDefault('', ['merge-base', 'refs/remotes/' . remote . '/' . merge, empty(owner) ? '@' : owner, '--'], dir)
let owner = s:Owner(@%, dir) if line2 > 0 && empty(arg) && commit =~# '^\x\{40,\}$'
let commit = s:ChompDefault('', ['merge-base', 'refs/remotes/' . remote . '/' . merge, empty(owner) ? '@' : owner, '--'], dir) let blame_list = tempname()
if line2 > 0 && empty(arg) && commit =~# '^\x\{40,\}$' call writefile([commit, ''], blame_list, 'b')
let blame_list = tempname() let blame_in = tempname()
call writefile([commit, ''], blame_list, 'b') silent exe 'noautocmd keepalt %write' blame_in
let blame_in = tempname() let [blame, exec_error] = s:LinesError(['-c', 'blame.coloring=none', 'blame', '--contents', blame_in, '-L', line1.','.line2, '-S', blame_list, '-s', '--show-number', './' . path], dir)
silent exe 'noautocmd keepalt %write' blame_in if !exec_error
let [blame, exec_error] = s:LinesError(['-c', 'blame.coloring=none', 'blame', '--contents', blame_in, '-L', line1.','.line2, '-S', blame_list, '-s', '--show-number', './' . path], dir) let blame_regex = '^\^\x\+\s\+\zs\d\+\ze\s'
if !exec_error if get(blame, 0) =~# blame_regex && get(blame, -1) =~# blame_regex
let blame_regex = '^\^\x\+\s\+\zs\d\+\ze\s' let line1 = +matchstr(blame[0], blame_regex)
if get(blame, 0) =~# blame_regex && get(blame, -1) =~# blame_regex let line2 = +matchstr(blame[-1], blame_regex)
let line1 = +matchstr(blame[0], blame_regex) else
let line2 = +matchstr(blame[-1], blame_regex) throw "fugitive: can't browse to uncommitted change"
else
throw "fugitive: can't browse to uncommitted change"
endif
endif endif
endif endif
endif endif