[[TIG][PATCH v2] 2/3] Display correct diff the context in split log view
- From
Kumar Appaiah <a.kumar@alumni.iitm.ac.in>
- Date
- Aug 6, 2013, 04:58 UTC
- Message-ID
- <1375765101-31461-3-git-send-email-a.kumar@alumni.iitm.ac.in>
- In-Reply-To
- <1375765101-31461-1-git-send-email-a.kumar@alumni.iitm.ac.in>
In the log view, when scrolling across a commit, the diff view should automatically switch to the commit whose context the cursor is on in the log view. This commit changes things to catch the REQ_ENTER in the log view and handle recalculation of the commit and diff display from log_request, rather than delegating it to pager_request. In addition, it also gets rid of unexpected upward scrolling of the log view.
Fixes GH #155
Signed-Off-By: Kumar Appaiah <a.kumar@alumni.iitm.ac.in> --- NEWS | 1 + tig.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS index 076ac9d..1b0f737 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,7 @@ Bug fixes: - Ignore unrepresentable characters when transliterating text for rendering. - Transliterate text to output encoding before trimming it to avoid misalignment. (GH #86) + - Introduce a more natural context-sensitive log display. (GH #155) tig-1.1 ------- diff --git a/tig.c b/tig.c index 845153f..256b589 100644 --- a/tig.c +++ b/tig.c @@ -4475,8 +4475,15 @@ log_request(struct view *view, enum request request, struct line *line) state->recalculate_commit_context = TRUE; return request; + case REQ_ENTER: + state->recalculate_commit_context = TRUE; + if (VIEW(REQ_VIEW_DIFF)->ref != ref_commit) + open_view(view, REQ_VIEW_DIFF, OPEN_SPLIT); + update_view_title(view); + return request; + default: - return pager_request(view, request, line); + return request; } }
-- 1.8.3.2