about summary refs log tree commit diff
path: root/Completion/Linux
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-06-04 03:14:33 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-06-04 03:14:33 +0000
commit74944e74a066dc9924bd773ee9f88be2f4557664 (patch)
treea92aba44d4191dd06c5ccc6144fb9a8ecfdd8c85 /Completion/Linux
parentbbb363b6868695e7257e6f8d3760560d5575825f (diff)
downloadzsh-74944e74a066dc9924bd773ee9f88be2f4557664.tar.gz
zsh-74944e74a066dc9924bd773ee9f88be2f4557664.tar.xz
zsh-74944e74a066dc9924bd773ee9f88be2f4557664.zip
Merge of new completion.
Diffstat (limited to 'Completion/Linux')
-rw-r--r--Completion/Linux/Command/_brctl63
1 files changed, 63 insertions, 0 deletions
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