]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - zsh/functions/status.zsh
Update plan, deps and git status
[rbdr/dotfiles] / zsh / functions / status.zsh
index 690b2eaf8bf51a365f4471e9dfb8156529652b18..82544f0e03c45d3dd37608964ac77b15b74235e2 100644 (file)
@@ -8,7 +8,7 @@ function tool_versions() {
 
 function env_info_provider() { echo "%{%F{green}%}n/a"; }
 function env_info {
-  echo "[%{%F{cyan}%}ENV%{%F{black}%} $(env_info_provider)%{%F{black}%}]"
+  echo "\u300c%{%F{black}%} $(env_info_provider)%{%F{black}%} \u300d"
 }
 
 function python_info {
@@ -38,24 +38,40 @@ function git_info {
 
     status_output=$(git status --short)
 
-    if echo "$status_output" | rg -q '^??'; then
-      echo -n "%{%F{magenta}%}?%f"
+    # Modified Files, Unstaged
+    if echo "$status_output" | rg -q '^ M'; then
+      echo -n "%{%F{magenta}%}△%f"
     fi
 
-    if echo "$status_output" | rg -q '^ M'; then
-      echo -n "%{%F{magenta}%}!%f"
+    # Modified Files, Staged
+    if echo "$status_output" | rg -q '^M'; then
+      echo -n "%{%F{green}%}△%f"
     fi
 
-    if echo "$status_output" | rg -q '^ D'; then
-      echo -n "%{%F{magenta}%}×%f"
+    # Untracked Files
+    if echo "$status_output" | rg -q '^\?\?'; then
+      echo -n "%{%F{magenta}%}+%f"
     fi
 
+    # Added Files
     if echo "$status_output" | rg -q '^A '; then
       echo -n "%{%F{green}%}+%f"
     fi
+
+    # Deleted Files, Unstaged
+    if echo "$status_output" | rg -q '^ D'; then
+      echo -n "%{%F{magenta}%}×%f"
+    fi
+
+    # Deleted Files, Staged
+    if echo "$status_output" | rg -q '^D'; then
+      echo -n "%{%F{green}%}×%f"
+    fi
+
+    echo -n "%f"
   fi
 }
 
 function status {
-  echo '%{%F{black}%}$(env_info) $(node_info) $(rust_info) $(python_info)'
+  print -P '%{%F{black}%}$(env_info) $(node_info) $(rust_info) $(python_info)'
 }