Edit 'fgh' script
- Add bindings to open in browser and clone via https. - Cosmetic changes.
This commit is contained in:
parent
2849e193dd
commit
a0c884415f
@ -1,7 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Fuzzy cloner of GitHub repos.
|
||||
|
||||
# Usage: fgh <user>
|
||||
# When you don't specify user then user=$USER.
|
||||
|
||||
# Bindings:
|
||||
# enter - clone via ssh
|
||||
# ctrl+h - clone via https
|
||||
# ctrl+b - open in browser
|
||||
|
||||
[ "$1" ] && user="$1" || user="$USER"
|
||||
|
||||
@ -9,16 +16,21 @@ data() {
|
||||
curl -s -n "https://api.github.com/users/$user/repos?per_page=100&page=1"
|
||||
}
|
||||
|
||||
[ "$(data | grep "Not Found")" ] && { echo "[E] Incorrect user."; exit 1 ;}
|
||||
if data | grep -q "Not Found"; then
|
||||
echo "[E] Incorrect user."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
repos() {
|
||||
data | jq --stream -r 'select(.[0][1] == "full_name") | .[1]'
|
||||
}
|
||||
|
||||
[ ! "$(repos)" ] && { echo "This user don't have any public repo!"; exit 0 ;}
|
||||
[ ! "$(repos)" ] && {
|
||||
echo "This user don't have any public repo!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
chosen="$(repos | fzf --reverse --height=30%)"
|
||||
|
||||
[ ! "$chosen" ] && exit 0
|
||||
|
||||
git clone git@github.com:"$chosen"
|
||||
repos | fzf --reverse --height=40% \
|
||||
--bind "enter:execute(git clone git@github.com:{})" \
|
||||
--bind "ctrl-h:execute(git clone https://github.com/{})" \
|
||||
--bind "ctrl-b:execute($BROWSER https://github.com/{})"
|
||||
|
Loading…
x
Reference in New Issue
Block a user