ys-pep-2 theme: Simplify *ux address detection

This commit is contained in:
Pandu POLUAN 2018-02-09 08:21:41 +07:00
commit f10b257f0d

View file

@ -67,24 +67,21 @@ local leftbar3="%F{148}┗%f"
# Show my IP Address # Show my IP Address
ZSH_THEME_SHOW_IP=1 ZSH_THEME_SHOW_IP=1
ZSH_THEME_SHOW_IP6=0
yspep_my_ip() { yspep_my_ip() {
[[ $ZSH_THEME_SHOW_IP != 1 ]] && return [[ $ZSH_THEME_SHOW_IP != 1 ]] && return
echo -n "${dgrey}[%b%F{green}" echo -n "${dgrey}[%b%F{green}"
if [[ ${(L)_system_name} == cygwin ]]; then if [[ ${(L)_system_name} == cygwin ]]; then
echo -n $(ipconfig | awk '$1 ~ /IP/ && $2 ~ /[Aa]ddress/ {sub(/.*:/, "", $0); gsub(/[ \t\r]/, "", $0); print $0}') echo -n $(ipconfig | awk '$1 ~ /IP/ && $2 ~ /[Aa]ddress/ {sub(/.*:/, "", $0); gsub(/[ \t\r]/, "", $0); print $0}')
else else
echo -n $( addrs=()
while read num dev etc; do while read num dev fam addr etc; do
dev="${dev:0: -1}" # Remove trailing colon [[ $dev =~ ^lo ]] && continue # skip loopback
dev="${dev//@*/}" # Remove "@xxx" prefix [[ $fam =~ ^inet ]] || continue # skip non-inet addr's (what could they be?)
ip -d -o addr sh ${dev} | [[ $fam == inet6 && $ZSH_THEME_SHOW_IP6 != 1 ]] && continue
awk '$3 == "inet" {sub(/\/[0-9]+/, "", $4); print "%F{022}"$2":%F{green}"$4}'; addrs+=( "%F{022}$dev:%F{green}${addr%/*}" )
done <<<"$( done < <(ip -d -o addr sh)
ip -d -o link sh | echo -n "${(j: :)addrs}"
sed -r -e '/link\/loopback/d' -e '/state DOWN/d'
)"
)
# echo -n $(ip -o addr show | awk -v atype=${1:-inet} '$2 != "lo" && $3 == atype {gsub(/\/[0-9]+/, "", $4); print $4}')
fi fi
echo "${dgrey}]%b" echo "${dgrey}]%b"
} }