summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git-prompt.sh19
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
}
'
`