blob: 1369b3d0b419e51b426c82774cb47e530c704d0d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#!/usr/bin/env bash
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
function gitadditions {
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
insertions=$(git --no-pager diff --numstat | awk '{sum1+=$1}END{print sum1}')
echo + $insertions
fi
}
function gitdeletions {
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
deletions=$(git --no-pager diff --numstat | awk '{sum2+=$2}END{print sum2}')
echo - $deletions
fi
}
function git_untracked_info {
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
untracked=$(git ls-files --others --exclude-standard | wc -w)
echo ⋯ $untracked
fi
}
function git_branch_info {
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
branch=$(git rev-parse --abbrev-ref HEAD)
echo " "$branch
fi
}
tmux_session_info=" #S:#I.#P"
branch_info="#[fg=colour24]#[fg=colour255 bg=colour65]"$(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)
echo "#[fg=colour255 bg=colour61]$shortened_path #[fg=colour61 bg=colour26]$SEPARATOR_RIGHT_BOLD#[fg=colour255 bg=colour26]$tmux_session_info #[fg=colour26 bg=colour65]$SEPARATOR_RIGHT_BOLD $branch_info #[fg=colour65 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=colour16]$SEPARATOR_RIGHT_BOLD"
|