diff options
Diffstat (limited to 'config/essentials/zsh/functions.zsh')
-rw-r--r-- | config/essentials/zsh/functions.zsh | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh index 188b405..fae05d6 100644 --- a/config/essentials/zsh/functions.zsh +++ b/config/essentials/zsh/functions.zsh @@ -111,18 +111,19 @@ upfile () { sgd () { d="$PWD" - for dir in ${1:-$HOME/src/*} - do - cd $dir + find $HOME/src -maxdepth 1 -mindepth 1 -type d | + while read -r dir + do + cd "$dir" + git status > /dev/null 2>&1 || continue git fetch > /dev/null 2>&1 - if [ "$(git status --short 2>/dev/null | grep -v "??" | head -1)" ] - then - # There are changes, and this is a git repo - echo "$PWD \e[1;31m*changes\e[0m" - fi + printf "$PWD" + test "$(git status --short 2>/dev/null | grep -v "??" | head -1)" && + printf " \e[1;31m*changes\e[0m" | sed "s#$HOME#~#" >&2 test "$(parse_git_remote)" && - echo "$PWD \e[0;32m*push/pull\e[0m" - done + printf " \e[0;32m*push/pull\e[0m" | sed "s#$HOME#~#" >&2 + printf "\n" + done cd "$d" unset d } |