diff options
author | Michael Allen <michael@michaelallen.io> | 2015-02-17 19:54:05 +0000 |
---|---|---|
committer | Michael Allen <michael@michaelallen.io> | 2015-02-17 19:54:05 +0000 |
commit | a333df6a1a61f0c0e4bc6d774ceff4e9f6bd61f8 (patch) | |
tree | 5d90a4f56dfa75d4674f6c683dff49a1e1c244de /git-base.sh | |
parent | f05711dbcf196f98f0e08d783f760d47d98b93a6 (diff) | |
download | git-sonar-a333df6a1a61f0c0e4bc6d774ceff4e9f6bd61f8.tar.gz git-sonar-a333df6a1a61f0c0e4bc6d774ceff4e9f6bd61f8.zip |
add functions to show staged changes
Diffstat (limited to 'git-base.sh')
-rwxr-xr-x | git-base.sh | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/git-base.sh b/git-base.sh index d9dc10a..20388aa 100755 --- a/git-base.sh +++ b/git-base.sh @@ -181,10 +181,29 @@ porcelain_status() { echo "$(git status --porcelain 2>/dev/null)" } -untracked_files() { +count_from_porcelain() { if is_repo; then - git_status="$(porcelain_status)" - untracked="$(echo "$git_status" | grep -p "?? " | wc -l | grep -oEi '[0-9][0-9]*')" - echo "$untracked" + status="$(porcelain_status)" + pattern="$2" + echo "$(echo "$status" | grep -p "$pattern" | wc -l | grep -oEi '[0-9][0-9]*')" + else + echo "0" fi } + +untracked_files() { + echo "$(count_from_porcelain "$git_status" "?? ")" +} + +staged_added_changes() { + echo "$(count_from_porcelain "$git_status" "A[A|M|C|D|U|R ] ")" +} +staged_modified_changes() { + echo "$(count_from_porcelain "$git_status" "M[A|M|C|D|U|R ] ")" +} +staged_deleted_changes() { + echo "$(count_from_porcelain "$git_status" "D[A|M|C|D|U|R ] ")" +} +staged_renamed_changes() { + echo "$(count_from_porcelain "$git_status" "R[A|M|C|D|U|R ] ")" +} |