complete -c traceroute -x -a "(__fish_print_hostnames)"

complete -c traceroute -l help -d 'Print help info and exit'
complete -c traceroute -s 4 -d 'Force IPv4 tracerouting'
complete -c traceroute -s 6 -d 'Force IPv6 tracerouting'
complete -c traceroute -s I -l icmp -d 'Use ICMP ECHO for probes'
complete -c traceroute -s T -l tcp -d 'Use TCP SYN for probes'
complete -c traceroute -s d -l debug -d 'Enable socket level debugging'
complete -c traceroute -s F -l dont-fragment -d 'Do not fragment probe packets'
complete -c traceroute -s f -l first -x -d 'Specifies with what TTL to start'
complete -c traceroute -s g -l gateway -x -d 'Route the packet through the specified gateway'
complete -c traceroute -s i -l interface -x -a "(__fish_print_interfaces)" -d 'Specify network interface'
complete -c traceroute -s m -l max-hops -x -d 'Maximum number of hops'
complete -c traceroute -s N -l sim-queries -x -d 'Number of probe packets sent out simultaneously'
complete -c traceroute -s n -d 'Do not map IP addresses to host names'
complete -c traceroute -s p -l port -x -d 'Destination port'
complete -c traceroute -s t -l tos -x -d 'Set Type of Service or Traffic Control value'
complete -c traceroute -s l -l flowlabel -x -d 'Use specified flow_label for IPv6'
complete -c traceroute -s w -l wait -x -d 'How long to wait for a response'
complete -c traceroute -s q -l queries -x -d 'Number of probe packets per hop'
complete -c traceroute -s r -d 'Bypass the normal routing tables'
complete -c traceroute -s s -l source -x -d 'Chooses an alternative source address'
complete -c traceroute -s z -l sendwait -x -d 'Minimal time interval between probes'
complete -c traceroute -s e -l extensions -d 'Show ICMP extensions'
complete -c traceroute -s A -l as-path-lookups -d 'Perform AS path lookups'
complete -c traceroute -s V -l version -d 'Print the version and exit'
complete -c traceroute -l sport -x -d 'Chooses the source port'
complete -c traceroute -l fwmark -x -d 'Set the firewall mark for outgoing packets'
complete -c traceroute -s M -l module -x -a "default icmp tcp tcpconn udp udplite dccp raw" -d 'Use specified method for traceroute'
complete -c traceroute -s O -l options -x -d 'Specifies some method-specific options'
complete -c traceroute -s U -l udp -d 'Use UDP to particular destination port'
complete -c traceroute -o UL -d 'Use UDPLITE for tracerouting'
complete -c traceroute -s D -l dccp -d 'Use DCCP requests for probes'
complete -c traceroute -s P -l protocol -x -d 'Use raw packet of specified protocol for tracerouting'
complete -c traceroute -l mtu -d 'Discover MTU along the path'
complete -c traceroute -l back -d 'Print the number of backward hops'
