mirror of
https://github.com/wfxr/forgit.git
synced 2026-09-10 07:16:23 -04:00
fixed add even more, leading whitespace issue
This commit is contained in:
parent
803cb4fd2d
commit
fd63265fe5
|
|
@ -91,13 +91,15 @@ function forgit::add
|
|||
"
|
||||
set files (git -c color.status=always -c status.relativePaths=true status --short |
|
||||
grep -F -e "$changed" -e "$unmerged" -e "$untracked" |
|
||||
sed 's/^\(..[^[:space:]]*\)[[:space:]]\+\(.*\)\$/[\1] \2/' |
|
||||
env FZF_DEFAULT_OPTS="$opts" fzf | cut -d " " -f 2- |
|
||||
sed 's/^\(..[^[:space:]]*\)[[:space:]]\+\(.*\)\$/[\1] \2/' | # deal with white spaces internal to fname
|
||||
env FZF_DEFAULT_OPTS="$opts" fzf |
|
||||
sed -e 's/^[[:space:]]*//' | # remove leading whitespace
|
||||
cut -d " " -f 2- | # cut the line after the M or ??, this leaves just the filename
|
||||
sed 's/.* -> //') # for rename case
|
||||
|
||||
if test -n "$files"
|
||||
for file in $files
|
||||
echo $file | tr "\n" "\0" | xargs -I{} -0 git add {} && git status --short && return
|
||||
echo $file | tr '\n' '\0' | xargs -I{} -0 git add {} && git status --short && return
|
||||
end
|
||||
return
|
||||
end
|
||||
|
|
@ -115,7 +117,9 @@ function forgit::reset::head
|
|||
"
|
||||
set files (git diff --cached --name-only --relative | env FZF_DEFAULT_OPTS="$opts" fzf)
|
||||
if test -n "$files"
|
||||
echo $files | tr ' ' '\n' |xargs -I{} git reset -q HEAD {} && git status --short && return
|
||||
for file in $files
|
||||
echo $file | tr '\n' '\0' |xargs -I{} -0 git reset -q HEAD {} && git status --short && return
|
||||
end
|
||||
end
|
||||
echo 'Nothing to unstage.'
|
||||
end
|
||||
|
|
@ -133,7 +137,9 @@ function forgit::restore
|
|||
set git_rev_parse (git rev-parse --show-toplevel)
|
||||
set files (git ls-files --modified "$git_rev_parse" | env FZF_DEFAULT_OPTS="$opts" fzf)
|
||||
if test -n "$files"
|
||||
echo $files | tr ' ' '\n' |xargs -I{} git checkout {} && git status --short && return
|
||||
for file in $files
|
||||
echo $file | tr '\n' '\0' |xargs -I{} -0 git checkout {} && git status --short && return
|
||||
end
|
||||
end
|
||||
echo 'Nothing to restore.'
|
||||
end
|
||||
|
|
@ -163,7 +169,9 @@ function forgit::clean
|
|||
set files (git clean -xdfn $argv| awk '{print $3}'| env FZF_DEFAULT_OPTS="$opts" fzf |sed 's#/$##')
|
||||
|
||||
if test -n "$files"
|
||||
echo $files | tr ' ' '\n'|xargs -I{} git clean -xdf {} && return
|
||||
for file in $files
|
||||
echo $file | tr '\n' '\0'|xargs -0 -I{} git clean -xdf {} && return
|
||||
end
|
||||
end
|
||||
echo 'Nothing to clean.'
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue