Skip to content

Instantly share code, notes, and snippets.

@SirJson
Created February 6, 2020 01:39
Show Gist options
  • Save SirJson/268f213953b7c7f3c41a9152f2a86a52 to your computer and use it in GitHub Desktop.
Save SirJson/268f213953b7c7f3c41a9152f2a86a52 to your computer and use it in GitHub Desktop.
#!/bin/bash
_gen_fzf_default_opts() {
local color00='#263238'
local color01='#2C393F'
local color02='#37474F'
local color03='#707880'
local color04='#C9CCD3'
local color05='#CDD3DE'
local color06='#D5DBE5'
local color07='#FFFFFF'
local color08='#EC5F67'
local color09='#EA9560'
local color0A='#FFCC00'
local color0B='#8BD649'
local color0C='#80CBC4'
local color0D='#89DDFF'
local color0E='#82AAFF'
local color0F='#EC5F67'
INFO_HEADER="<ESC> Exit, <PgUp> Preview up, <PgDown> Preview down"
export FZF_DEFAULT_OPTS="
--color=bg+:$color01,bg:$color00,spinner:$color0C,hl:$color0D
--color=fg:$color04,header:$color0D,info:$color0A,pointer:$color0C
--color=marker:$color0C,fg+:$color06,prompt:$color0A,hl+:$color0D
-m --cycle --border --layout=reverse-list --preview-window=right:wrap --bind pgdn:preview-down --bind pgup:preview-up --header \"$INFO_HEADER\""
}
_gen_fzf_default_opts
update_all() {
clear
MSG="Update - $(date)"
ORG=$PWD
for d in */; do
if [ -d "$d/.git" ]; then
cd $d
printf "\n\n---------Synchronizing $d...---------\n"
git add -A && git commit -am "$MSG" && git pull && git push
cd $ORG
fi
done
}
RESULTS=$(
for d in */; do
if [ -d "$d/.git" ]; then
printf "$d\n"
fi
done
)
echo "$RESULTS" | fzf --preview="cd {}; git status -vv --column=never --renames --find-renames" --prompt="Pending Repositories. Press <ENTER> to continue..."
syesno "Synchronize all repositories?"
test $? -eq 0 && update_all
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment