Initial commit
This commit is contained in:
56
functions/gd.fish
Normal file
56
functions/gd.fish
Normal file
@@ -0,0 +1,56 @@
|
||||
function __gd
|
||||
# number
|
||||
set res (string split "-" -- (string trim $argv))
|
||||
set first $res[1]
|
||||
set length (count $res)
|
||||
set last ""
|
||||
set toplevel (git rev-parse --show-toplevel)
|
||||
|
||||
# >
|
||||
if [ $length -gt 1 ]
|
||||
set last $res[2]
|
||||
else
|
||||
# just one
|
||||
echo $arr
|
||||
set myarg $arr[$res]
|
||||
echo $myarg
|
||||
git diff $toplevel/$myarg
|
||||
return
|
||||
end
|
||||
|
||||
# first < last
|
||||
if [ $last != '' ]
|
||||
if [ $first -lt $last ]
|
||||
set arr_length (count $arr)
|
||||
|
||||
# clamp as array length
|
||||
if [ $arr_length -lt $last ]
|
||||
set last $arr_length
|
||||
end
|
||||
|
||||
#for i in (seq $first 1 $last)
|
||||
for i in $res
|
||||
set myarg $arr[$i]
|
||||
git diff $toplevel/$myarg
|
||||
end
|
||||
else
|
||||
echo 'Argument is not valid.'
|
||||
end
|
||||
else
|
||||
set myarg $arr[$first]
|
||||
git diff $toplevel/$myarg
|
||||
end
|
||||
#echo $res[1]end
|
||||
end
|
||||
|
||||
function gd
|
||||
# If we have no arguments, just run git diff
|
||||
if [ (count $argv) -eq 0 ]
|
||||
git diff
|
||||
else
|
||||
# Deal with arguments one-by-one
|
||||
for i in $argv
|
||||
__gd $i
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user