1#!/bin/bash
2
3CURRENT_DIR="$1"
4fg=$(tmux show -gv @thm_fg)
5bg=$(tmux show -gv @thm_bg)
6surface=$(tmux show -gv @thm_surface)
7primary=$(tmux show -gv @thm_primary)
8
9# Check if we're in a git repo
10cd "$CURRENT_DIR" || exit 1
11if ! git rev-parse --git-dir > /dev/null 2>&1; then
12 echo ""
13 exit 0
14fi
15
16# Get branch name
17BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null)
18
19# Get status counts
20STAGED=$(git diff --cached --numstat 2>/dev/null | wc -l | tr -d ' ')
21MODIFIED=$(git diff --numstat 2>/dev/null | wc -l | tr -d ' ')
22UNTRACKED=$(git ls-files --others --exclude-standard 2>/dev/null | wc -l | tr -d ' ')
23
24OUTPUT="#[fg=$primary]#[fg=#11111b,bg=$primary] #[fg=$fg,bg=$surface] ${BRANCH}"
25
26if [ "$STAGED" -gt 0 ] || [ "$MODIFIED" -gt 0 ] || [ "$UNTRACKED" -gt 0 ]; then
27
28 if [ "$STAGED" -gt 0 ]; then
29 OUTPUT+="#[fg=#a6e3a1,bg=$surface] S:${STAGED}"
30 fi
31
32 if [ "$MODIFIED" -gt 0 ]; then
33 OUTPUT+="#[fg=#f9e2af,bg=$surface] M:${MODIFIED}"
34 fi
35
36 if [ "$UNTRACKED" -gt 0 ]; then
37 OUTPUT+="#[fg=#89b4fa,bg=$surface] U:${UNTRACKED}"
38 fi
39fi
40
41OUTPUT+="#[fg=$surface,bg=default]"
42echo "$OUTPUT"