Last active
May 24, 2024 03:28
-
-
Save jaggzh/01b36da847386fcc92a3ffd43a6c7b36 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bgbla='[40m'; bgred='[41m'; bggre='[42m'; bgbro='[43m'; | |
bgblu='[44m'; bgmag='[45m'; bgcya='[46m'; bggra='[47m'; | |
bla='[30m'; red='[31m'; gre='[32m'; bro='[33m'; | |
blu='[34m'; mag='[35m'; cya='[36m'; gra='[37m'; | |
bbla='[30;1m'; bred='[31;1m'; bgre='[32;1m'; yel='[33;1m'; | |
bblu='[34;1m'; bmag='[35;1m'; bcya='[36;1m'; whi='[37;1m'; | |
rst='[0m'; inv='[7m'; cll='[2K'; cllr='[K'; | |
cls='[2J'; clsb='[J'; | |
bgblae='\033[40m'; bgrede='\033[41m'; bggree='\033[42m'; bgbroe='\033[43m'; | |
bgblue='\033[44m'; bgmage='\033[45m'; bgcyae='\033[46m'; bggrae='\033[47m'; | |
blae='\033[30m'; rede='\033[31m'; gree='\033[32m'; broe='\033[33m'; | |
blue='\033[34m'; mage='\033[35m'; cyae='\033[36m'; grae='\033[37m'; | |
bblae='\033[30;1m'; brede='\033[31;1m'; bgree='\033[32;1m'; yele='\033[33;1m'; | |
bblue='\033[34;1m'; bmage='\033[35;1m'; bcyae='\033[36;1m'; whie='\033[37;1m'; | |
rste='\033[0m'; inve='\033[7m'; clle='\033[2K'; cllre='\033[K'; | |
clse='\033[2J'; clsbe='\033[J'; | |
a24fg () { # [0-255] Usage: a24fg r g b | |
printf '%s' "[38;2;$1;$2;${3}m" | |
} | |
a24bg () { # [0-255] Usage: a24fg r g b | |
printf '%s' "[48;2;$1;$2;${3}m" | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# List repo status of latest files in current directory | |
# (With colors and chars and easy to see) | |
# | |
# Example runs: | |
# git-ls-last-status | |
# (Displays up to 10 files) | |
# or | |
# git-ls-last-status 30 | |
ourdir="$(dirname "$(readlink -f "$0")")" | |
. "$ourdir/ansi.sh" | |
# Default to the last 10 files if no argument is given | |
n=${1:-10} | |
# Get the last $n files sorted by modification time | |
files=$(ls -lrt | tail -n $n | awk '{print $9}') | |
cin=$gre | |
cmod=$bro | |
cnin=$red | |
# Loop through each file and check its git status | |
{ | |
for file in $files; do | |
# Check if the file is tracked by git | |
git ls-files --error-unmatch $file &> /dev/null | |
if [ $? -eq 0 ]; then | |
# The file is tracked by Git, check for modifications | |
modified=$(git status --short $file) | |
if [ -z "$modified" ]; then | |
echo "$cin[*]$rst $file" | |
else | |
# Display the modification status | |
echo "$cmod[m]$rst $file" | |
fi | |
else | |
echo "$cnin[X]$rst $file" | |
fi | |
done | |
cat <<-EOT | |
$cin[*]$rst In repo. $cmod[m]$rst Modified. $cnin[X]$rst NOT in repo. | |
EOT | |
} | less -F -R -X |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fixed. less needed -R. (My system has export LESS='-R' already.)