From 8db954a2d62e9e35a85f56ca44859278eec3bdda Mon Sep 17 00:00:00 2001 From: Ryan Collingham Date: Mon, 17 Jul 2017 11:52:21 +0100 Subject: [PATCH] Cleanup diff gracefully --- git-recall | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/git-recall b/git-recall index 927f78d..91e2ea2 100644 --- a/git-recall +++ b/git-recall @@ -191,15 +191,23 @@ function get_diff() { DIFF_LINES_NUMBER=$(( DIFF_LINES_NUMBER + off )) } +cleanup_diff() +{ + clear_screen + cleanup_and_exit +} + # This function will print the diff according the commit's tip. If the diff is too long, the result will be displayed using 'less'. function print_diff() { get_diff if [[ $(( TN + DIFF_LINES_NUMBER + OFFSET )) -ge $(( `tput lines` - 1 )) ]]; then + trap cleanup_diff INT if [[ $LESSKEY = true ]]; then - echo "$DIFF" | less -r -k $HOME/.lsh_less_keys_tmp + (echo "$DIFF" | less -r -k $HOME/.lsh_less_keys_tmp) else - echo "$DIFF" | less -r + (echo "$DIFF" | less -r) fi + trap cleanup_and_exit INT clear_screen else stop=false