diff --git a/conf.d/forgit.plugin.fish b/conf.d/forgit.plugin.fish index 3e4ac54..63e1d8b 100644 --- a/conf.d/forgit.plugin.fish +++ b/conf.d/forgit.plugin.fish @@ -102,13 +102,16 @@ function forgit::diff -d "git diff viewer" --argument-names arg1 arg2 end end - set preview "forgit::extract_file {} | xargs git diff --color=always $commits -- | $forgit_diff_pager" - + set preview_cmd "forgit::extract_file {} | xargs -I% git diff --color=always $commits -- % | $forgit_diff_pager" + # Show additional context on enter compared to preview + set enter_cmd "forgit::extract_file {} | xargs -I% git diff --color=always -U10000 $commits -- % | $forgit_diff_pager" + set opts " $FORGIT_FZF_DEFAULT_OPTS - +m -0 --bind=\"enter:execute($preview |env LESS='-r' less)\" - --preview=\"$preview\" + +m -0 --bind=\"enter:execute($enter_cmd | env LESS='-r' less)\" + --preview=\"$preview_cmd\" $FORGIT_DIFF_FZF_OPTS + --prompt=\"$commits > \" " eval git diff --name-status $commits -- $files* | diff --git a/forgit.plugin.zsh b/forgit.plugin.zsh index cb61217..9ad1da2 100755 --- a/forgit.plugin.zsh +++ b/forgit.plugin.zsh @@ -54,12 +54,16 @@ forgit::diff() { fi } repo="$(git rev-parse --show-toplevel)" - cmd="cd '$repo' && echo {} |sed 's/.*] *//' | sed 's/ -> / /' |xargs -I% git diff --color=always $commits -- % | $forgit_diff_pager" + get_files="cd '$repo' && echo {} | sed 's/.*] *//' | sed 's/ -> / /'" + preview_cmd="$get_files | xargs -I% git diff --color=always $commits -- % | $forgit_diff_pager" + # Show additional context on enter compared to preview + enter_cmd="$get_files | xargs -I% git diff --color=always -U10000 $commits -- % | $forgit_diff_pager" opts=" $FORGIT_FZF_DEFAULT_OPTS - +m -0 --bind=\"enter:execute($cmd |LESS='-r' less)\" - --preview=\"$cmd\" + +m -0 --bind=\"enter:execute($enter_cmd | LESS='-r' less)\" + --preview=\"$preview_cmd\" $FORGIT_DIFF_FZF_OPTS + --prompt=\"$commits > \" " eval "git diff --name-status $commits -- ${files[*]} | sed -E 's/^([[:alnum:]]+)[[:space:]]+(.*)$/[\1]\t\2/'" | sed 's/\t/ -> /2' | expand -t 8 |