79 lines
1.5 KiB
Fish
79 lines
1.5 KiB
Fish
__breeze_variables
|
|
|
|
function __git_add -a var
|
|
set toplevel (git rev-parse --show-toplevel)
|
|
|
|
# is numeric
|
|
if [ "$var" -eq "$var" ] 2>/dev/null
|
|
# number
|
|
set myarg $arr[$var]
|
|
|
|
# -- (hyphen hyphen) compare
|
|
set hyphen (printf "%b" (printf '%s%x' '\x' 45))
|
|
if [ "$myarg" = "$hyphen$hyphen" ] 2>/dev/null
|
|
set myarg './'$myarg
|
|
end
|
|
|
|
git add $toplevel/$myarg
|
|
else
|
|
# not a number
|
|
git add $toplevel/$var
|
|
end
|
|
end
|
|
|
|
function __ga
|
|
# number
|
|
set res (string split "-" -- (string trim $argv))
|
|
set first $res[1]
|
|
set length (count $res)
|
|
set last ""
|
|
|
|
# >
|
|
if [ $length -gt 1 ]
|
|
set last $res[2]
|
|
# >
|
|
else
|
|
# just one
|
|
__git_add $res
|
|
return
|
|
end
|
|
|
|
# last exists
|
|
if [ $last != '' ]
|
|
set arr_length (count $arr)
|
|
|
|
# clamp as array length
|
|
if [ $arr_length -lt $last ]
|
|
set last $arr_length
|
|
end
|
|
|
|
# first < last
|
|
if [ $first -lt $last ]
|
|
for i in (seq $first 1 $last)
|
|
__git_add $i
|
|
end
|
|
else
|
|
echo 'Argument is not valid.'
|
|
end
|
|
else
|
|
__git_add $first
|
|
end
|
|
end
|
|
|
|
function ga
|
|
# space like, `ga 1 2 3`
|
|
set res (string split " " -- (string trim $argv))
|
|
set length (count $res)
|
|
|
|
# only one
|
|
if [ $length -eq 0 ]
|
|
__ga $argv
|
|
return
|
|
end
|
|
|
|
for i in $res
|
|
#echo $i
|
|
__ga $i
|
|
end
|
|
end
|