diff options
Diffstat (limited to 'Completion/Linux')
-rw-r--r-- | Completion/Linux/Command/.distfiles | 2 | ||||
-rw-r--r-- | Completion/Linux/Command/_brctl | 63 |
2 files changed, 64 insertions, 1 deletions
diff --git a/Completion/Linux/Command/.distfiles b/Completion/Linux/Command/.distfiles index bf0907d0a..46621a4e7 100644 --- a/Completion/Linux/Command/.distfiles +++ b/Completion/Linux/Command/.distfiles @@ -1,5 +1,5 @@ DISTFILES_SRC=' .distfiles -_acpi _iptables _iwconfig _losetup _mii-tool _modutils _mondo _pkgtool +_acpi _brctl _iptables _iwconfig _losetup _mii-tool _modutils _mondo _pkgtool _tune2fs _uml _valgrind _yast ' 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 |