15f5c80c2e
This reverts commit dab2f3c5519d01902e795e583b0546eb30bd04c7. It broke at least FreeBSD route completion.
31 lines
807 B
Bash
31 lines
807 B
Bash
# Linux route(8) completion -*- shell-script -*-
|
|
|
|
[[ $OSTYPE == *linux* ]] || return 1
|
|
|
|
_route()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
if [[ $prev == dev ]]; then
|
|
_available_interfaces
|
|
return 0
|
|
fi
|
|
|
|
# Remove already given options from completions
|
|
local opt found i
|
|
for opt in add del -host -net netmask metric mss window irtt reject mod \
|
|
dyn reinstate dev default gw; do
|
|
found=false
|
|
for (( i=1; i < ${#words[@]}-1; i++ )); do
|
|
[[ ${words[i]} == $opt ]] && found=true && break
|
|
done
|
|
$found || COMPREPLY[${#COMPREPLY[@]}]="$opt"
|
|
done
|
|
|
|
COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -- "$cur" ) )
|
|
} &&
|
|
complete -F _route route
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|