Revert "nmcli completion was integrated upstream"
This reverts commit 580a4cf6e55ab1afd6b1f8f7efc54436e7046e44.
This commit is contained in:
parent
580a4cf6e5
commit
cdd2c3d71d
@ -230,6 +230,7 @@ bashcomp_DATA = a2x \
|
|||||||
newusers \
|
newusers \
|
||||||
ngrep \
|
ngrep \
|
||||||
nmap \
|
nmap \
|
||||||
|
nmcli \
|
||||||
nslookup \
|
nslookup \
|
||||||
ntpdate \
|
ntpdate \
|
||||||
openssl \
|
openssl \
|
||||||
|
199
completions/nmcli
Normal file
199
completions/nmcli
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
# nmcli completion -*- shell-script -*-
|
||||||
|
|
||||||
|
_nmcli_list()
|
||||||
|
{
|
||||||
|
COMPREPLY=( $( compgen -W '$1' -- "$cur" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
_nmcli_con_id()
|
||||||
|
{
|
||||||
|
local IFS=$'\n'
|
||||||
|
COMPREPLY=( $( compgen -W "$(nmcli con list 2>/dev/null | \
|
||||||
|
tail -n +2 | awk -F ' {2,}' '{print $1 }')" -- "$cur" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
_nmcli_con_uuid()
|
||||||
|
{
|
||||||
|
COMPREPLY=( $( compgen -W "$(nmcli con list 2>/dev/null | \
|
||||||
|
tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
_nmcli_ap_ssid()
|
||||||
|
{
|
||||||
|
local IFS=$'\n'
|
||||||
|
COMPREPLY=( $( compgen -W "$(nmcli dev wifi list 2>/dev/null | \
|
||||||
|
tail -n +2 | awk -F ' {2,}' '{print $1}')" -- "$cur" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
_nmcli_ab_bssid()
|
||||||
|
{
|
||||||
|
COMPREPLY=( $( compgen -W "$(nmcli dev wifi list 2>/dev/null | \
|
||||||
|
tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
_nmcli()
|
||||||
|
{
|
||||||
|
local cur prev words cword
|
||||||
|
_init_completion || return
|
||||||
|
|
||||||
|
case $prev in
|
||||||
|
-m|--mode)
|
||||||
|
COMPREPLY=( $( compgen -W 'tabular multiline' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
-f|--fields)
|
||||||
|
COMPREPLY=( $( compgen -W 'all common' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
-e|--escape)
|
||||||
|
_nmcli_list "yes no"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
id)
|
||||||
|
_nmcli_con_id
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
uuid)
|
||||||
|
_nmcli_con_uuid
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
iface)
|
||||||
|
_available_interfaces
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
bssid)
|
||||||
|
_nmcli_ab_bssid
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wep-key-type)
|
||||||
|
_nmcli_list "key phrase"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $cword -eq 1 ]] ; then
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $( compgen -W '--terse --pretty --mode --fields
|
||||||
|
--escape --version --help' -- "$cur" ) )
|
||||||
|
else
|
||||||
|
COMPREPLY=( $( compgen -W "nm con dev" -- "$cur" ) )
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
local object=${words[1]}
|
||||||
|
local command=${words[2]}
|
||||||
|
|
||||||
|
case $object in
|
||||||
|
nm)
|
||||||
|
case $command in
|
||||||
|
enable)
|
||||||
|
_nmcli_list "true false"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
sleep)
|
||||||
|
_nmcli_list "true false"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wifi)
|
||||||
|
_nmcli_list "on off"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wwan)
|
||||||
|
_nmcli_list "on off"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wimax)
|
||||||
|
_nmcli_list "on off"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
COMPREPLY=( $( compgen -W 'status permissions enable sleep
|
||||||
|
wifi wwan wimax' -- "$cur" ) )
|
||||||
|
;;
|
||||||
|
con)
|
||||||
|
case $command in
|
||||||
|
list)
|
||||||
|
COMPREPLY=( $( compgen -W 'id uuid' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
up)
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $( compgen -W '--nowait --timeout' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
else
|
||||||
|
COMPREPLY=( $( compgen -W 'id uuid iface ap nsp' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
down)
|
||||||
|
COMPREPLY=( $( compgen -W 'id uuid' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
delete)
|
||||||
|
COMPREPLY=( $( compgen -W 'id uuid' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
COMPREPLY=( $( compgen -W 'list status up down delete' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
case $command in
|
||||||
|
list)
|
||||||
|
COMPREPLY=( $( compgen -W 'iface' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
disconnect)
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $( compgen -W '--nowait --timeout' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
else
|
||||||
|
COMPREPLY=( $( compgen -W 'iface' -- "$cur" ) )
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wifi)
|
||||||
|
local subcommand=${words[3]}
|
||||||
|
|
||||||
|
case $subcommand in
|
||||||
|
list)
|
||||||
|
COMPREPLY=( $( compgen -W 'iface bssid' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
connect)
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $( compgen -W '--private
|
||||||
|
--nowait --timeout' -- "$cur" ) )
|
||||||
|
else
|
||||||
|
if [[ "$prev" == "connect" ]]; then
|
||||||
|
_nmcli_ap_ssid
|
||||||
|
else
|
||||||
|
COMPREPLY=( $( compgen -W 'password
|
||||||
|
wep-key-type iface bssid name' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
COMPREPLY=( $( compgen -W 'list connect' -- "$cur" ) )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
COMPREPLY=( $( compgen -W 'status list disconnect wifi' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
} &&
|
||||||
|
complete -F _nmcli nmcli
|
||||||
|
|
||||||
|
# ex: ts=4 sw=4 et filetype=sh
|
@ -27,8 +27,13 @@ _postconf()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COMPREPLY=( $( compgen -W "$( /usr/sbin/postconf | awk '{print $1}' )" -- "$cur" ) )
|
local len=${#cur} idx=0 pval
|
||||||
|
for pval in $( /usr/sbin/postconf 2>/dev/null | cut -d ' ' -f 1 ); do
|
||||||
|
if [[ "$cur" == "${pval:0:$len}" ]]; then
|
||||||
|
COMPREPLY[$idx]="$pval$eqext"
|
||||||
|
idx=$(($idx+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
return 0
|
return 0
|
||||||
} &&
|
} &&
|
||||||
complete -F _postconf postconf
|
complete -F _postconf postconf
|
||||||
|
1
test/completion/nmcli.exp
Normal file
1
test/completion/nmcli.exp
Normal file
@ -0,0 +1 @@
|
|||||||
|
assert_source_completions nmcli
|
18
test/lib/completions/nmcli.exp
Normal file
18
test/lib/completions/nmcli.exp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
proc setup {} {
|
||||||
|
save_env
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
proc teardown {} {
|
||||||
|
assert_env_unmodified
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setup
|
||||||
|
|
||||||
|
|
||||||
|
assert_complete_any "nmcli "
|
||||||
|
sync_after_int
|
||||||
|
|
||||||
|
|
||||||
|
teardown
|
Loading…
x
Reference in New Issue
Block a user