Document all functions in-source
This commit is contained in:
parent
a520bad83d
commit
73c7f5d2fa
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/zsh
|
#!/usr/bin/zsh
|
||||||
|
|
||||||
function main() {
|
function main()
|
||||||
|
{
|
||||||
is_in_git_repository || return 1
|
is_in_git_repository || return 1
|
||||||
|
|
||||||
parse_git_status
|
parse_git_status
|
||||||
|
@ -17,7 +18,7 @@ function main() {
|
||||||
local remote="$REPLY"
|
local remote="$REPLY"
|
||||||
|
|
||||||
[[ ! -z "$remote" ]] \
|
[[ ! -z "$remote" ]] \
|
||||||
&& get_differences_between_remote_and_local "$branch" "$remote" \
|
&& git_local_remote_diffs "$branch" "$remote" \
|
||||||
&& local commit_diffs="$REPLY"
|
&& local commit_diffs="$REPLY"
|
||||||
|
|
||||||
git_determine_color $modified $staged $deleted $untracked
|
git_determine_color $modified $staged $deleted $untracked
|
||||||
|
@ -46,19 +47,27 @@ function main() {
|
||||||
|
|
||||||
###
|
###
|
||||||
# Check if we're in a git repository
|
# Check if we're in a git repository
|
||||||
# Globals: none
|
|
||||||
# Arguments: none
|
# Arguments: none
|
||||||
|
# Returns: 0 if in a git repo, 1 otherwise
|
||||||
###
|
###
|
||||||
function is_in_git_repository()
|
function is_in_git_repository()
|
||||||
{
|
{
|
||||||
git rev-parse --git-dir &>/dev/null || return 1
|
git rev-parse --git-dir &>/dev/null || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# Return current branch we're on
|
||||||
|
# Arguments: none
|
||||||
|
###
|
||||||
function git_grab_current_branch()
|
function git_grab_current_branch()
|
||||||
{
|
{
|
||||||
typeset -g REPLY="$(git branch --show-current)"
|
typeset -g REPLY="$(git branch --show-current)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# Return remote branch that the local one is tracking
|
||||||
|
# Arguemnts: none
|
||||||
|
###
|
||||||
function git_grab_remote_branch()
|
function git_grab_remote_branch()
|
||||||
{
|
{
|
||||||
local symbolic_ref="$(git symbolic-ref -q HEAD)"
|
local symbolic_ref="$(git symbolic-ref -q HEAD)"
|
||||||
|
@ -66,8 +75,7 @@ function git_grab_remote_branch()
|
||||||
}
|
}
|
||||||
|
|
||||||
###
|
###
|
||||||
# Find how many things have changed since last commit
|
# Find how many things have changed since last git commit
|
||||||
# Globals: none
|
|
||||||
# Arguments: none
|
# Arguments: none
|
||||||
###
|
###
|
||||||
function parse_git_status()
|
function parse_git_status()
|
||||||
|
@ -97,7 +105,12 @@ function parse_git_status()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_differences_between_remote_and_local()
|
###
|
||||||
|
# Look at how many commits a local branch is ahead/behind of remote branch
|
||||||
|
# Arguments: $1 local branch
|
||||||
|
# $2 remote branch
|
||||||
|
###
|
||||||
|
function git_local_remote_diffs()
|
||||||
{
|
{
|
||||||
local local_branch="$1"
|
local local_branch="$1"
|
||||||
local remote_branch="$2"
|
local remote_branch="$2"
|
||||||
|
@ -116,15 +129,22 @@ function get_differences_between_remote_and_local()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
# If there is anything that changed from the past commit, return yelllow color.
|
||||||
|
# Otherwise, green.
|
||||||
|
# Arguments: list of how many things changed
|
||||||
|
###
|
||||||
function git_determine_color()
|
function git_determine_color()
|
||||||
{
|
{
|
||||||
|
local green=$'\e[93m'
|
||||||
|
local yellow=$'\e[92m'
|
||||||
for i in "$@"; do
|
for i in "$@"; do
|
||||||
if (( $i > 0 )); then
|
if (( $i > 0 )); then
|
||||||
typeset -g REPLY=$'\e[93m'
|
typeset -g REPLY="$green"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
typeset -g REPLY=$'\e[92m'
|
typeset -g REPLY="$yellow"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue