-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathload.fish
32 lines (30 loc) · 811 Bytes
/
load.fish
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function load -a PROJ
set -g THIS_DIR (pwd)
if [ "$PROJ" = "" ]
set_color red
echo " ERR! Please enter a name for the load."
return 1
end
set -g FILE ~/.config/fish/data/savedata.json
if not [ -e $FILE ]
set_color red
echo " ERR! No savedata found. Make sure you save before loading."
return 1
end
set_color yellow
echo " * LOADING $PROJ from $FILE"
for DIR in (cat $FILE | jq ".$PROJ" | jq -r 'keys[]')
cd $DIR
set -g THIS_BRANCH (__git_branch_name)
set_color "#FFE0E8"
echo " IN $DIR"
set -g REQ_BRANCH (cat $FILE | jq -r ".$PROJ.\"$DIR\"")
if [ "$THIS_BRANCH" != "$REQ_BRANCH" ]
echo CHEKING OUT "$REQ_BRANCH"
git checkout $REQ_BRANCH
else
echo BRANCH ALREADY CHECKED OUT
end
end
cd $THIS_DIR
end