Make hunk summary window-aware.

Closes #331.
This commit is contained in:
Andy Stewart
2016-05-16 12:21:06 +01:00
parent ef6fd3a986
commit 9db8f638db
2 changed files with 15 additions and 12 deletions

View File

@@ -8,8 +8,8 @@ function! gitgutter#hunk#hunks() abort
return s:hunks
endfunction
function! gitgutter#hunk#summary() abort
return getbufvar(gitgutter#utility#bufnr(), 'gitgutter_summary', [0,0,0])
function! gitgutter#hunk#summary(bufnr) abort
return getbufvar(a:bufnr, 'gitgutter_summary', [0,0,0])
endfunction
function! gitgutter#hunk#reset() abort
@@ -17,21 +17,24 @@ function! gitgutter#hunk#reset() abort
endfunction
function! gitgutter#hunk#increment_lines_added(count) abort
let summary = gitgutter#hunk#summary()
let bufnr = gitgutter#utility#bufnr()
let summary = gitgutter#hunk#summary(bufnr)
let summary[0] += a:count
call setbufvar(gitgutter#utility#bufnr(), 'gitgutter_summary', summary)
call setbufvar(bufnr, 'gitgutter_summary', summary)
endfunction
function! gitgutter#hunk#increment_lines_modified(count) abort
let summary = gitgutter#hunk#summary()
let bufnr = gitgutter#utility#bufnr()
let summary = gitgutter#hunk#summary(bufnr)
let summary[1] += a:count
call setbufvar(gitgutter#utility#bufnr(), 'gitgutter_summary', summary)
call setbufvar(bufnr, 'gitgutter_summary', summary)
endfunction
function! gitgutter#hunk#increment_lines_removed(count) abort
let summary = gitgutter#hunk#summary()
let bufnr = gitgutter#utility#bufnr()
let summary = gitgutter#hunk#summary(bufnr)
let summary[2] += a:count
call setbufvar(gitgutter#utility#bufnr(), 'gitgutter_summary', summary)
call setbufvar(bufnr, 'gitgutter_summary', summary)
endfunction
function! gitgutter#hunk#next_hunk(count) abort

View File

@@ -123,11 +123,11 @@ function! GitGutterGetHunks()
return gitgutter#utility#is_active() ? gitgutter#hunk#hunks() : []
endfunction
" Returns an array that contains a summary of the current hunk status.
" The format is [ added, modified, removed ], where each value represents
" the number of lines added/modified/removed respectively.
" Returns an array that contains a summary of the hunk status for the current
" window. The format is [ added, modified, removed ], where each value
" represents the number of lines added/modified/removed respectively.
function! GitGutterGetHunkSummary()
return gitgutter#hunk#summary()
return gitgutter#hunk#summary(winbufnr(0))
endfunction
" }}}