fix: forgit::diff not working if repo path contains spaces

This commit is contained in:
Max Eisner 2022-04-20 19:35:53 +02:00 committed by zhangwenxuan.917
parent fa9fd62439
commit 25bb8aee24
2 changed files with 2 additions and 2 deletions

View file

@ -84,7 +84,7 @@ function forgit::diff -d "git diff viewer" --argument-names arg1 arg2
end
set repo (git rev-parse --show-toplevel)
set preview "cd $repo && echo {} | sed 's/.*] *//' | sed 's/ -> / /' | xargs git diff --color=always $commits -- | $forgit_diff_pager"
set preview "cd '$repo' && echo {} | sed 's/.*] *//' | sed 's/ -> / /' | xargs git diff --color=always $commits -- | $forgit_diff_pager"
set opts "
$FORGIT_FZF_DEFAULT_OPTS

View file

@ -51,7 +51,7 @@ forgit::diff() {
fi
}
repo="$(git rev-parse --show-toplevel)"
cmd="cd $repo && echo {} |sed 's/.*] *//' | sed 's/ -> / /' |xargs git diff --color=always $commits -- | $forgit_diff_pager"
cmd="cd '$repo' && echo {} |sed 's/.*] *//' | sed 's/ -> / /' |xargs git diff --color=always $commits -- | $forgit_diff_pager"
opts="
$FORGIT_FZF_DEFAULT_OPTS
+m -0 --bind=\"enter:execute($cmd |LESS='-r' less)\"