mirror of
https://github.com/notwa/rc
synced 2024-07-01 03:07:13 -07:00
remove lsz
This commit is contained in:
parent
f36a293829
commit
e9ae474941
|
@ -308,13 +308,6 @@ nay
|
||||||
(zsh) guess what these do. [via prezto.][prezto]
|
(zsh) guess what these do. [via prezto.][prezto]
|
||||||
includes autocomplete files.
|
includes autocomplete files.
|
||||||
|
|
||||||
### [lsz](/sh/lsz)
|
|
||||||
|
|
||||||
(zsh) a needlessly fancy alternative to `ls`.
|
|
||||||
|
|
||||||
based on lsf or something, which might be [a gist somewhere.](//gist.github.com/notwa)
|
|
||||||
you can find [similar, more mature projects on github.](//github.com/trapd00r/ls--)
|
|
||||||
|
|
||||||
### [minutemaid](/sh/minutemaid)
|
### [minutemaid](/sh/minutemaid)
|
||||||
|
|
||||||
(zsh) returns 0 if the current minute is divisible by a number.
|
(zsh) returns 0 if the current minute is divisible by a number.
|
||||||
|
|
178
sh/lsz
178
sh/lsz
|
@ -1,178 +0,0 @@
|
||||||
#!/usr/bin/env zsh
|
|
||||||
|
|
||||||
emulate -L zsh
|
|
||||||
setopt ksh_typeset typeset_silent
|
|
||||||
|
|
||||||
local -A unames gnames us
|
|
||||||
while IFS=: read -rA A; do unames[${A[3]}]=${A[1]} done < /etc/passwd
|
|
||||||
while IFS=: read -rA A; do gnames[${A[3]}]=${A[1]} done < /etc/group
|
|
||||||
for x in $(groups); do us[$x]=1 done
|
|
||||||
|
|
||||||
local -a colors
|
|
||||||
colors=(bla red gre yel blu pur cya whi)
|
|
||||||
local i $=colors ${(U)=colors} clr=$'\e[0m'
|
|
||||||
for i in {0..7}; do
|
|
||||||
local x=${colors[$((i+1))]}
|
|
||||||
eval "$x=$'\\e[3${i}m'" "${(U)x}=$'\\e[9${i}m'"
|
|
||||||
done
|
|
||||||
|
|
||||||
local s=1 m h d y B=1 K M G T
|
|
||||||
noglob let m=60*s h=60*m d=24*h y=365*d K=1024*B M=1024*K G=1024*M T=1024*G
|
|
||||||
|
|
||||||
local s_ft='
|
|
||||||
y*10 y BLA
|
|
||||||
y*2 y blu
|
|
||||||
y d BLU
|
|
||||||
d*30 d cya
|
|
||||||
d*7 d CYA
|
|
||||||
d h gre
|
|
||||||
h*12 h GRE
|
|
||||||
h m yel
|
|
||||||
m*10 m YEL
|
|
||||||
m s pur
|
|
||||||
0 s PUR
|
|
||||||
'
|
|
||||||
|
|
||||||
local s_fs='
|
|
||||||
T*8 T red
|
|
||||||
T G red
|
|
||||||
G*8 G pur
|
|
||||||
G M pur
|
|
||||||
M M yel
|
|
||||||
M K yel
|
|
||||||
K*8 K CYA
|
|
||||||
K B CYA
|
|
||||||
1 B cya
|
|
||||||
0 B BLA
|
|
||||||
'
|
|
||||||
|
|
||||||
local permcolors="$BLA $WHI $yel $YEL $blu $BLU $gre $GRE"
|
|
||||||
permcolors=($=permcolors)
|
|
||||||
|
|
||||||
# chr dir blk file sym
|
|
||||||
local typecolors="$RED $BLA $YEL $BLA $BLU $BLA $yel $BLA $clr $BLA $CYA"
|
|
||||||
typecolors=($=typecolors)
|
|
||||||
|
|
||||||
local ft fs
|
|
||||||
local min unit color
|
|
||||||
for min unit color in $=s_ft; do
|
|
||||||
ft+=($(($min)) $unit $color)
|
|
||||||
done
|
|
||||||
for min unit color in $=s_fs; do
|
|
||||||
fs+=($(($min)) $unit $color)
|
|
||||||
done
|
|
||||||
|
|
||||||
_lsz_pretty() {
|
|
||||||
local min unit color
|
|
||||||
for min unit color in ${(P)2}; do
|
|
||||||
[ $1 -lt $min ] && continue
|
|
||||||
local unitified=$(($1/$unit))
|
|
||||||
echo -n "${(P)color}${(l:4:)unitified}$clr$unit"
|
|
||||||
break
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
_lsz_min() {
|
|
||||||
local min=99999999999 x
|
|
||||||
for x; do [ $x -lt $min ] && min=$x; done
|
|
||||||
echo $min
|
|
||||||
}
|
|
||||||
|
|
||||||
_lsz_max() {
|
|
||||||
local _lsz_max=-99999999999 x
|
|
||||||
for x; do [ $x -gt $_lsz_max ] && _lsz_max=$x; done
|
|
||||||
echo $_lsz_max
|
|
||||||
}
|
|
||||||
|
|
||||||
_lsz_perm() {
|
|
||||||
echo -n ${permcolors[$(($1+1))]}$1
|
|
||||||
}
|
|
||||||
|
|
||||||
_lsz_type() {
|
|
||||||
echo -n ${typecolors[$(($1+1))]}
|
|
||||||
}
|
|
||||||
|
|
||||||
local now=$(date +%s)
|
|
||||||
_lsz_date() {
|
|
||||||
[ $1 -lt 32 ] \
|
|
||||||
&& echo -n "$BLA N/A$clr" \
|
|
||||||
|| _lsz_pretty $((now-$1)) ft
|
|
||||||
echo -n ' '
|
|
||||||
}
|
|
||||||
|
|
||||||
_lsz() {
|
|
||||||
local din=${1%/}
|
|
||||||
|
|
||||||
local dinf=$(readlink -f ${din:-/})
|
|
||||||
local glob=$dinf
|
|
||||||
[ -d "$dinf" ] && glob=$dinf/*(DN)
|
|
||||||
|
|
||||||
local count=${2:-0}
|
|
||||||
[ $count -gt 1 ] && echo "$WHI$dinf"
|
|
||||||
|
|
||||||
local -a matches
|
|
||||||
matches=(${~glob})
|
|
||||||
[ ${#matches} -eq 0 ] && return
|
|
||||||
|
|
||||||
stat -t -- ${matches[@]} | while read -r; do
|
|
||||||
__lsz "$REPLY" "$dinf"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
__lsz() {
|
|
||||||
local A dinf=$2
|
|
||||||
read -rA A <<<$1
|
|
||||||
|
|
||||||
local uid=${A[-12]} gid=${A[-11]} is_me=0 is_us=0
|
|
||||||
local uname=${unames[$uid]} gname=${gnames[$gid]}
|
|
||||||
[ $uid -eq $UID ] && is_me=1
|
|
||||||
[ -n "$gname" ] && [[ ${us[$gname]} -eq 1 ]] && is_us=1
|
|
||||||
|
|
||||||
local bits type uperm gperm operm our_perm
|
|
||||||
bits=$((16#${A[-13]}))
|
|
||||||
let 'type=(bits & 8#170000) >> 12'
|
|
||||||
let 'uperm=(bits & 8#700) >> 6'
|
|
||||||
let 'gperm=(bits & 8#70) >> 3'
|
|
||||||
let 'operm=bits & 8#7'
|
|
||||||
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 ' >' ;;
|
|
||||||
*) _lsz_pretty ${A[-15]} fs ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
true && {
|
|
||||||
echo -n ' '
|
|
||||||
_lsz_perm $our_perm
|
|
||||||
}
|
|
||||||
|
|
||||||
true && {
|
|
||||||
echo -n ' '
|
|
||||||
_lsz_perm $uperm
|
|
||||||
_lsz_perm $gperm
|
|
||||||
_lsz_perm $operm
|
|
||||||
}
|
|
||||||
|
|
||||||
echo -n "$clr"
|
|
||||||
|
|
||||||
local da=${A[-5]} dc=${A[-4]} dm=${A[-3]}
|
|
||||||
true && {
|
|
||||||
_lsz_date $da
|
|
||||||
_lsz_date $dm
|
|
||||||
_lsz_date $dc
|
|
||||||
} || {
|
|
||||||
_lsz_date $(_lsz_max $da $dc $dm)
|
|
||||||
}
|
|
||||||
|
|
||||||
local n=${A[1,-16]}
|
|
||||||
n=${n##$dinf/}
|
|
||||||
_lsz_type $type
|
|
||||||
echo $n$clr
|
|
||||||
}
|
|
||||||
|
|
||||||
local f
|
|
||||||
[ ${#@} -eq 0 ] && set -- $PWD
|
|
||||||
for f; _lsz $f ${#@}
|
|
Loading…
Reference in New Issue
Block a user