main
59c7d64 · 8 days ago 139 commits
 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"