From 66b4a94bdf35f658ca7256cd98420dca24a30d91 Mon Sep 17 00:00:00 2001 From: DrVanScott Date: Sun, 17 Jul 2016 16:57:17 +0200 Subject: [PATCH] rewrite bash 4 ;;& operator --- gitstatus.sh | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gitstatus.sh b/gitstatus.sh index 8dcd49b..e305990 100755 --- a/gitstatus.sh +++ b/gitstatus.sh @@ -26,15 +26,18 @@ num_conflicts=0 num_untracked=0 while IFS='' read -r line || [[ -n "$line" ]]; do status=${line:0:2} - case "$status" in - \#\#) branch_line="${line/\.\.\./^}" ;; - ?M) ((num_changed++)) ;;& - ?D) ((num_changed++)) ;;& - U?) ((num_conflicts++)) ;;& - \?\?) ((num_untracked++)) ;; - \ ?) ;; - *) ((num_staged++)) ;; - esac + while true + do + case "$status" in + \#\#) branch_line="${line/\.\.\./^}"; break ;; + ?M) ((num_changed++)); status=${status:0:1}"_" ;; + ?D) ((num_changed++)); status=${status:0:1}"_" ;; + U?) ((num_conflicts++)); break ;; + \?\?) ((num_untracked++)); break ;; + \ ?) break ;; + *) ((num_staged++)); break ;; + esac + done done <<< "$gitstatus" num_stashed=0