From 9d30797e4a2de1b33ae0be417e5c8b368d99ba08 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 8 Aug 2005 08:02:39 +0000 Subject: new brctl completion --- Completion/Linux/Command/_brctl | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Completion/Linux/Command/_brctl (limited to 'Completion/Linux/Command/_brctl') diff --git a/Completion/Linux/Command/_brctl b/Completion/Linux/Command/_brctl new file mode 100644 index 000000000..877326821 --- /dev/null +++ b/Completion/Linux/Command/_brctl @@ -0,0 +1,63 @@ +#compdef brctl + +local curcontext="$curcontext" expl ret=1 +local subcmd + +if (( CURRENT == 2 )); then + _describe 'brctl command' '( + addbr:create\ instance\ of\ ethernet\ bridge + delbr:deletes\ specified\ bridge\ instance + show:show\ all\ current\ bridge\ instances + addif:add\ interface\ to\ bridge + delif:remove\ interface\ from\ bridge + showmacs:show\ a\ list\ of\ learned\ MAC\ addresses + setageing:set\ MAC\ address\ ageing\ time + setgcint:set\ grabage\ collection\ interval + stp:control\ use\ of\ spanning\ tree\ protocol + setbridgeprio:set\ bridge\ priority + setfd:set\ bridge\ forward\ delay + sethello:set\ bridge\ hello\ time + setmaxage:set\ maximum\ message\ age + setpathcost:set\ cost\ of\ port + setportprio:set\ priority\ of\ port + )' && ret=0 +else + shift words + (( CURRENT-- )) + subcmd="$words[1]" + curcontext="${curcontext%:*}-${subcmd}:" + + if (( CURRENT == 2 )); then + _wanted bridges expl 'bridge' compadd \ + ${${(f)"$(brctl show 2>/dev/null)"}[2,-1]%% *} && ret=0 + elif (( CURRENT == 3 )); then + case $subcmd in + addif|delif) + _net_interfaces && ret=0 + ;; + setageing|setgcint|setfd|sethello|setmaxage) + _message -e time 'time (seconds)' + ;; + setbridgeprio) + _message -e priority 'priority' + ;; + setpathcost|setportprio) + _message -e ports 'port' + ;; + stp) + _wanted states expl 'state' compadd on off && ret=0 + ;; + *) + _message 'unknown subcommand: $subcmd' + ;; + esac + elif (( CURRENT == 4 )); then + if [[ $subcmd == setpathcost ]]; then + _message -e cost 'cost' + elif [[ $subcmd == setportprio ]]; then + _message -e priority 'priority' + fi + fi +fi + +return ret -- cgit 1.4.1