#compdef fping local expl hosts _arguments -C \ '-a[show targets that are alive]:' \ '-A[show targets by address]:' \ '-v[show version]:' \ '-b n[amount of ping data to send, in bytes (default 56)]:' \ '-B f[set exponential backoff factor to f]:' \ '-c n[count of pings to send to each target (default 1)]:' \ '-C n[same as -c, report results in verbose format]:' \ '-e[show elapsed time on return packets]:' \ '-f[read list of targets from a file ( - means stdin)]:_file' \ '-i n[interval between sending ping packets (in millisec) (default 25)]:' \ '-l[loop sending pings forever]:' \ '-m[ping multiple interfaces on target host]:' \ '-n[show targets by name (-d is equivalent)]:' \ '-p n[interval between ping packets to one target (in millisec) (in looping and counting modes, default 1000)]:' \ '-q[quiet (dont show per-target/per-ping results)]:' \ '-Q n[same as -q, but show summary every n seconds]:' \ '-r n[number of retries (default 3)]:' \ '-s[print final stats]:' \ '-t n[individual target initial timeout (in millisec) (default 500)]:' \ '-u[show targets that are unreachable]:' \ && ret=0 if ! zstyle -a ":completion:${curcontext}:hosts" hosts hosts; then (( $+_cache_hosts )) || : ${(A)_cache_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(