From 9db8f638dbf4dd7c344bc4b9350c04e30641068a Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Mon, 16 May 2016 12:21:06 +0100 Subject: [PATCH] Make hunk summary window-aware. Closes #331. --- autoload/gitgutter/hunk.vim | 19 +++++++++++-------- plugin/gitgutter.vim | 8 ++++---- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/autoload/gitgutter/hunk.vim b/autoload/gitgutter/hunk.vim index cbb2477..a17f4f8 100644 --- a/autoload/gitgutter/hunk.vim +++ b/autoload/gitgutter/hunk.vim @@ -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 diff --git a/plugin/gitgutter.vim b/plugin/gitgutter.vim index db7ac44..af67de4 100644 --- a/plugin/gitgutter.vim +++ b/plugin/gitgutter.vim @@ -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 " }}}