blob: fadbc18f6cd84a9ea2f54918245be8b832df1816 (
plain) (
tree)
|
|
#!/bin/sh
# source common.sh
SEPARATOR_RIGHT_BOLD=""
# SEPARATOR_RIGHT_THIN=""
# MIN_MAJOR_VERSION="2"
# MIN_MINOR_VERSION="1"
# TMUX_VERSION="$(tmux -V)"
get_tmux_cwd() {
tmux display -p -F "#{pane_current_path}"
}
tmux_path=$(get_tmux_cwd)
# cd "$tmux_path" && IFS='/' read -ra tmux_path_array <<<"$tmux_path"
# pos=$((${#tmux_path_array[*]} - 1))
# last=${tmux_path_array[$pos]}
# for i in "${tmux_path_array[@]}"; do
# if [[ $i == "$last" ]]; then
# shortened_path+=$i
# else
# shortened_path+=${i:0:1}/
# fi
# done
gitadditions() {
if cd "${tmux_path}" && git rev-parse --git-dir >/dev/null 2>&1; then
insertions=$(cd "${tmux_path}" && git --no-pager diff --numstat | awk '{sum1+=$1}END{print sum1}')
echo +"$insertions"
fi
}
gitdeletions() {
if cd "${tmux_path}" && git rev-parse --git-dir >/dev/null 2>&1; then
deletions=$(cd "${tmux_path}" && git --no-pager diff --numstat | awk '{sum2+=$2}END{print sum2}')
echo -"$deletions"
fi
}
git_untracked_info() {
if cd "${tmux_path}" && git rev-parse --git-dir >/dev/null 2>&1; then
untracked=$(cd "${tmux_path}" && git ls-files --others --exclude-standard | wc -w)
echo ⋯"$untracked"
fi
}
git_branch_info() {
if cd "${tmux_path}" && git rev-parse --git-dir >/dev/null 2>&1; then
branch=$(cd "${tmux_path}" && git rev-parse --abbrev-ref HEAD)
echo " $branch"
fi
}
repo_info() {
if cd "${tmux_path}" && git rev-parse --git-dir >/dev/null 2>&1; then
insertions=$(cd "${tmux_path}" && git --no-pager diff --numstat | awk '{sum1+=$1}END{print sum1}')
if cd "${tmux_path}" && git remote -v | grep github.com >/dev/null 2>&1; then
echo
elif cd "${tmux_path}" && git remote -v | grep gitlab.com >/dev/null 2>&1; then
echo
elif cd "${tmux_path}" && git remote -v | grep bitbucket.org >/dev/null 2>&1; then
echo
else
echo
fi
else
:
fi
}
get_eth_price() {
PRICE_TIME_CACHE=60
PRICE_CACHE_OUTPUT_ETH=/tmp/tmux_PRICE_CACHE_ETH
PRICE_CACHE_OUTPUT_XMR=/tmp/tmux_PRICE_CACHE_XMR
# PRICE_CACHE_OUTPUT_CAKE=/tmp/tmux_PRICE_CACHE_CAKE
# eth_price=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=ETH&unit=USD" | jq ".price")
# cake_price=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=CAKE&unit=USD" | jq ".price")
# monero_price=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=XMR&unit=USD" | jq ".price")
if [ $(($(stat --format=%Y $PRICE_CACHE_OUTPUT_ETH) + PRICE_TIME_CACHE)) -gt "$(date +%s)" ]; then
:
else
if ETH_OUTPUT=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=ETH&unit=USD" | jq ".price" | cut -d. -f1); then
if [ -n "${ETH_OUTPUT}" ]; then
echo "${ETH_OUTPUT}" >${PRICE_CACHE_OUTPUT_ETH}
fi
fi
fi
# if [ $(($(stat --format=%Y $PRICE_CACHE_OUTPUT_CAKE) + PRICE_TIME_CACHE)) -gt "$(date +%s)" ]; then
# :
# else
# if CAKE_OUTPUT=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=CAKE&unit=USD" | jq ".price"); then
# if [ -n "${CAKE_OUTPUT}" ]; then
# echo "${CAKE_OUTPUT}" >${PRICE_CACHE_OUTPUT_CAKE}
# fi
# fi
# fi
if [ $(($(stat --format=%Y $PRICE_CACHE_OUTPUT_XMR) + PRICE_TIME_CACHE)) -gt "$(date +%s)" ]; then
:
else
if XMR_OUTPUT=$(proxychains4 -q -f ~/proxies/ice/proxychains.conf curl -s -X GET "https://api.terminaldweller.com/crypto/v1/price?name=XMR&unit=USD" | jq ".price" | cut -d. -f1); then
if [ -n "${XMR_OUTPUT}" ]; then
echo "${XMR_OUTPUT}" >${PRICE_CACHE_OUTPUT_XMR}
fi
fi
fi
# result="$(cat ${PRICE_CACHE_OUTPUT_ETH})"/"$(cat ${PRICE_CACHE_OUTPUT_CAKE})"/"$(cat ${PRICE_CACHE_OUTPUT_XMR})"
result="$(cat ${PRICE_CACHE_OUTPUT_ETH})"/"$(cat ${PRICE_CACHE_OUTPUT_XMR})"
echo "${result}"
}
user_service_status() {
if sv status ~/service/* | grep -v -E "^run:" >/dev/null 2>&1; then
echo DOWN
else
echo UP
fi
}
tmux_session_info=" #S:#I.#P:#D"
branch_info="#[fg=colour16]$(repo_info)#[fg=colour0 bg=colour39]"$(git_branch_info)
untracked_info="#[fg=colour255 bg=colour244]"$(git_untracked_info)
deletions_info="#[fg=colour255 bg=colour1]"$(gitdeletions)
additions_info="#[fg=colour255 bg=colour22]"$(gitadditions)
eth_price="#[fg=colour16 bg=colour37]"$(get_eth_price)
service_status_info="#[fg=colour16 bg=colour65, bold]"$(user_service_status)
echo "#[fg=colour255 bg=colour26]${tmux_session_info} #[fg=colour26 bg=colour39]$SEPARATOR_RIGHT_BOLD \
$branch_info #[fg=colour39 bg=colour22]$SEPARATOR_RIGHT_BOLD \
$additions_info #[fg=colour22 bg=colour1]$SEPARATOR_RIGHT_BOLD \
$deletions_info #[fg=colour1 bg=colour244]$SEPARATOR_RIGHT_BOLD \
$untracked_info #[fg=colour244 bg=colour37]$SEPARATOR_RIGHT_BOLD \
$eth_price #[fg=colour37 bg=colour65]$SEPARATOR_RIGHT_BOLD \
$service_status_info #[fg=colour65 bg=colour16]$SEPARATOR_RIGHT_BOLD"
|