haiku/data/etc/bash_completion.d/net-tools

132 lines
3.0 KiB
Bash

# bash completion for net tools
have mii-tool &&
_mii_tool()
{
local cur prev split=false
COMPREPLY=()
_get_comp_words_by_ref cur prev
_split_longopt && split=true
case $prev in
-F|--force)
COMPREPLY=( $( compgen -W '100baseTx-FD 100baseTx-HD \
10baseT-FD 10baseT-HD' -- "$cur" ) )
return 0
;;
-A|--advertise)
COMPREPLY=( $( compgen -W '100baseT4 100baseTx-FD 100baseTx-HD \
10baseT-FD 10baseT-HD' -- "$cur" ) )
return 0
;;
esac
$split && return 0
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--verbose --version --reset --restart \
--watch --log --advertise --force' -- "$cur" ) )
else
_available_interfaces -a
fi
} &&
complete -F _mii_tool -o default mii-tool
have mii-diag &&
_mii_diag()
{
local cur prev split=false
COMPREPLY=()
_get_comp_words_by_ref cur prev
_split_longopt && split=true
case $prev in
-F|-A|--advertise|--fixed-speed)
COMPREPLY=( $( compgen -W '100baseT4 100baseTx \
100baseTx-FD 100baseTx-HD 10baseT 10baseT-FD \
10baseT-HD' -- "$cur" ) )
return 0
;;
esac
$split && return 0
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--advertise --fixed-speed --all-interfaces \
--status --debug --read-parameters --set-parameters --msg-level \
--phy --restart --reset --verbose --version --watch --help' \
-- "$cur" ) )
else
_available_interfaces -a
fi
} &&
complete -F _mii_diag -o default mii-diag
# Linux route(8) completion
#
[ $UNAME = Linux ] && have route &&
_route()
{
local cur prev
COMPREPLY=()
_get_comp_words_by_ref cur prev
if [ "$prev" = dev ]; then
_available_interfaces
return 0
fi
# Remove already given options from completions
local i found
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 < ${#COMP_WORDS[@]}-1; i++ )); do
[ "${COMP_WORDS[i]}" = "$opt" ] && found=true && break
done
$found || COMPREPLY[${#COMPREPLY[@]}]="$opt"
done
COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -- "$cur" ) )
} &&
complete -F _route route
have ether-wake &&
_ether_wake()
{
COMPREPLY=()
local cur prev
_get_comp_words_by_ref -n : cur prev
case $prev in
-i)
_available_interfaces
return 0
;;
-p)
return 0
;;
esac
if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W '-b -D -i -p -V' -- "$cur" ) )
return 0
fi
_mac_addresses
} &&
complete -F _ether_wake ether-wake
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh