#compdef dog __dog() { _arguments \ "(- 1 *)"{-v,--version}"[Show version of dog]" \ "(- 1 *)"{-\?,--help}"[Show list of command-line options]" \ {-q,--query}"[Host name or domain name to query]::_hosts" \ {-t,--type}"[Type of the DNS record being queried]:(record type):(A AAAA CAA CNAME HINFO MX NS PTR SOA SRV TXT)" \ {-n,--nameserver}"[Address of the nameserver to send packets to]::_hosts;" \ --class"[Network class of the DNS record being queried]:(network class):(IN CH HS)" \ --edns"[Whether to OPT in to EDNS]:(edns setting):(disable hide show)" \ --txid"[Set the transaction ID to a specific value]" \ -Z"[Configure uncommon protocol-level tweaks]:(protocol tweak):(aa ad bufsize= cd)" \ {-U,--udp}"[Use the DNS protocol over UDP]" \ {-T,--tcp}"[Use the DNS protocol over TCP]" \ {-S,--tls}"[Use the DNS-over-TLS protocol]" \ {-H,--https}"[Use the DNS-over-HTTPS protocol]" \ {-1,--short}"[Display nothing but the finst result]" \ {-J,--json}"[Display the output as JSON]" \ {--color,--colour}"[When to use terminal colours]:(setting):(always automatic never)" \ --seconds"[Do not format durations, display them as seconds]" \ --time"[Print how long the response took to arrive"] \ '*:filename:_hosts' } __dog