diff options
Diffstat (limited to 'git-prompt.sh')
-rw-r--r-- | git-prompt.sh | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/git-prompt.sh b/git-prompt.sh index c3c5e21..699d15f 100644 --- a/git-prompt.sh +++ b/git-prompt.sh @@ -291,21 +291,26 @@ parse_git_dir() { s/^# On branch /branch=/p s/^nothing to commit (working directory clean)/clean=clean/p s/^# Initial commit/init=init/p + + s/^# \.\./: SKIP/ + /^# Untracked files:/,/^[^#]/{ s/^# Untracked files:/untracked=untracked;/p - s/^# \([^.]\)/untracked_files[${#untracked_files[@]}+1]=\"\1\"/p + s/^# \(.*\)/untracked_files[${#untracked_files[@]}+1]=\\"\1\\"/p } + /^# Changed but not updated:/,/^# [A-Z]/ { s/^# Changed but not updated:/modified=modified;/p - s/^# modified: \([^.]\)/modified_files[${#modified_files[@]}+1]=\"\1\"/p - s/^# unmerged: \([^.]\)/modified_files[${#modified_files[@]}+1]=\"\1\"/p + s/^# modified: \(.*\)/modified_files[${#modified_files[@]}+1]=\"\1\"/p + s/^# unmerged: \(.*\)/modified_files[${#modified_files[@]}+1]=\"\1\"/p } + /^# Changes to be committed:/,/^# [A-Z]/ { s/^# Changes to be committed:/added=added;/p - s/^# modified: \([^.]\)/added_files[${#added_files[@]}+1]=\"\1\"/p - s/^# new file: \([^.]\)/added_files[${#added_files[@]}+1]=\"\1\"/p - s/^# renamed:[^>]*> \([^.]\)/added_files[${#added_files[@]}+1]=\"\1\"/p - s/^# copied:[^>]*> \([^.]\)/added_files[${#added_files[@]}+1]=\"\1\"/p + s/^# modified: \(.*\)/added_files[${#added_files[@]}+1]=\"\1\"/p + s/^# new file: \(.*\)/added_files[${#added_files[@]}+1]=\"\1\"/p + s/^# renamed:[^>]*> \(.*\)/added_files[${#added_files[@]}+1]=\"\1\"/p + s/^# copied:[^>]*> \(.*\)/added_files[${#added_files[@]}+1]=\"\1\"/p } ' ` |