1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-06-29 02:17:12 -07:00

much needed update to lsz

This commit is contained in:
Connor Olding 2014-10-30 08:55:12 -07:00
parent 3b2bfcdf9c
commit 6dd9dd07ba

57
sh/lsz
View File

@ -34,6 +34,7 @@ m*10 m YEL
m s pur m s pur
0 s PUR 0 s PUR
' '
local s_fs=' local s_fs='
T*8 T red T*8 T red
T G red T G red
@ -50,10 +51,13 @@ K B CYA
local permcolors="$BLA $WHI $yel $YEL $blu $BLU $gre $GRE" local permcolors="$BLA $WHI $yel $YEL $blu $BLU $gre $GRE"
permcolors=($=permcolors) permcolors=($=permcolors)
# TODO: functionize for better locals # chr dir blk file sym
local typecolors="$RED $BLA $BLA $BLA $BLU $BLA $BLA $BLA $clr $BLA $CYA"
typecolors=($=typecolors)
local min unit color local min unit color
for min unit color in $=s_ft; do for min unit color in $=s_ft; do
# TODO: consider dereferencing color, [no]and coloring unit itself[/no] # TODO: consider dereferencing color
ft+=($(($min)) $unit $color) ft+=($(($min)) $unit $color)
done done
for min unit color in $=s_fs; do for min unit color in $=s_fs; do
@ -84,15 +88,31 @@ min() {
echo $min echo $min
} }
max() {
local max=-99999999999 x
for x; do [ $x -gt $max ] && max=$x; done
echo $max
}
permprint() { permprint() {
echo -n ${permcolors[$(($1+1))]}$1 echo -n ${permcolors[$(($1+1))]}$1
} }
local now=$(date +%s) typeprint() {
local f="$din/*(D)" echo -n ${typecolors[$(($1+1))]} #${(l:3:)1}
stat -t -- ${~f} | while read -rA A; do }
prettify ${A[-15]} fs
local now=$(date +%s)
dateprint() {
[ $1 -lt 32 ] \
&& echo -n "$BLA N/A$clr " \
|| prettify $((now-$1)) ft
}
local dinf=$(readlink -f $din/)
local f="$dinf/*(D)"
stat -t -- ${~f} | while read -rA A; do
local uid=${A[-12]} gid=${A[-11]} is_me=0 is_us=0 local uid=${A[-12]} gid=${A[-11]} is_me=0 is_us=0
local uname=${unames[$uid]} gname=${gnames[$gid]} local uname=${unames[$uid]} gname=${gnames[$gid]}
[ $uid -eq $UID ] && is_me=1 [ $uid -eq $UID ] && is_me=1
@ -105,6 +125,14 @@ stat -t -- ${~f} | while read -rA A; do
let 'operm=bits & 8#7' let 'operm=bits & 8#7'
let 'our_perm=(is_me?uperm:0) | (is_us?gperm:0) | operm' let 'our_perm=(is_me?uperm:0) | (is_us?gperm:0) | operm'
case $type in
2) echo -n ' c ' ;;
6) echo -n ' b ' ;;
4) echo -n ' / ' ;;
10) echo -n ' > ' ;;
*) prettify ${A[-15]} fs ;;
esac
permprint $our_perm permprint $our_perm
true && { true && {
@ -117,11 +145,16 @@ stat -t -- ${~f} | while read -rA A; do
echo -n "$clr" echo -n "$clr"
local da=${A[-5]} dc=${A[-4]} dm=${A[-3]} local da=${A[-5]} dc=${A[-4]} dm=${A[-3]}
let da=now-da dc=now-dc dm=now-dm true && {
prettify $(min $da $dc $dm) ft dateprint $da
#prettify $da ft dateprint $dm
#prettify $dm ft dateprint $dc
#prettify $dc ft } || {
dateprint $(max $da $dc $dm)
}
echo ${A[1,-16]} local n=${A[1,-16]}
n=${n##$dinf/}
typeprint $type
echo $n$clr
done done