about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2018-08-24 08:03:46 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2018-08-24 08:04:12 +0200
commitf95635a4473b7ccc94c22e68e363249ae4d4c479 (patch)
tree387dc6579a651be0127c2569ba716c6cc5d03e7d
parentf7deb4951387a239500853b43464aad820131235 (diff)
downloadzsh-f95635a4473b7ccc94c22e68e363249ae4d4c479.tar.gz
zsh-f95635a4473b7ccc94c22e68e363249ae4d4c479.tar.xz
zsh-f95635a4473b7ccc94c22e68e363249ae4d4c479.zip
43330: complete more options to cu
-rw-r--r--ChangeLog4
-rw-r--r--Completion/BSD/Command/_cu59
2 files changed, 53 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 12d67c6d0..495c54c4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2018-08-24  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
-	* x: Completion/Unix/Command/_diff3: new diff3 completion
+	* 43330: Completion/BSD/Command/_cu: complete more options
+
+	* 43329: Completion/Unix/Command/_diff3: new diff3 completion
 
 	* 43328: Completion/X/Command/_zeal: new completion
 
diff --git a/Completion/BSD/Command/_cu b/Completion/BSD/Command/_cu
index 90447c0af..1fe08601f 100644
--- a/Completion/BSD/Command/_cu
+++ b/Completion/BSD/Command/_cu
@@ -1,26 +1,67 @@
 #compdef cu
 
-local args
+local variant ign
+local -a args
 
-case $OSTYPE in
+_pick_variant -r variant taylor='Taylor UUCP' $OSTYPE --version
+
+case $variant in
   openbsd*)
     args+=(
       "-d[don't block waiting for a carrier to be detected]"
       '-r[start cu in restricted mode - prevent local operations]'
     )
   ;;
+  taylor|(net|free)bsd*)
+    args+=(
+      '(-o -P --parity)-e[use even parity]'
+      '(-e -P --parity)-o[use odd parity]'
+    )
+  ;|
   (net|free)bsd*)
+    args+=( '-t[connect via a hard-wired connection to a host on a dial-up line]' )
+  ;|
+  taylor|netbsd*)
+    (( $#words > 2 )) && ign='!'
+    args+=(
+      "${ign}--help[display usage information]"
+      '(-s)--speed=[set line speed for the connection]:line speed [9600]:_baudrates'
+      '(-e -o -P)--parity=[set parity]:parity [none]:(even odd none)'
+      '(-h --halfduplex)'{-h,--halfduplex}'[echo characters locally]'
+      '--nostop[turn off XON/XOFF handling]'
+      '(-E --escape)'{-E+,--escape=}'[specify escape character]:escape character [~]'
+      '(-a -p --port)'{-a+,-p+,--port=}'[specify the port]:port'
+      '(-c --phone -n --prompt)'{-c+,--phone=}'[specify phone number to call]:phone number'
+      '(1 -l -z --system)--line=[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*)(N%c))'
+    )
+  ;|
+  taylor)
     args+=(
+      "${ign}(-v --version)"{-v,--version}"[display version information]"
+      '(-n --prompt -c --phone)'{-n,--prompt}'[prompt for the phone number to use]'
+      '(-x --debug)-d[enter debugging mode]'
+      '(-d -x --debug)'{-x+,--debug=}'[turn on particular debugging types]:debug type:_sequence compadd - all abnormal chat handshake port config incoming outgoing'
+      '(-I --config)'{-I+,--config=}'[specify configuration file]:configuration file:_files'
+      '(1 -z --system)'{-z+,--system=}'[specify system to call]:system'
+    )
+  ;;
+  netbsd*)
+    args+=(
+      '(-E --escape)-n+[disable escape character processing]'
+      '(-f -F --flow)'{-F+,--flow=}'[set flow control]:flow control:(hard soft none)'
+      '(-F --flow)-f[use no flow control]'
+      '(-e -o --parity)-P+[set parity]:parity [none]:(even odd none)'
+    )
+  ;;
+  freebsd*)
+    args=( -A "-*" $args
       '-a[set the acu port]:acu'
-      '(-o)-e[use even parity]'
       '-h[echo characters locally]'
-      '(-e)-o[use odd parity]'
-      '-t[connect via a hard-wired connection to a host on a dial-up line]'
     )
   ;;
 esac
 
-_arguments -s -A '-*' $args \
-  '-l[line to use]:line:(/dev/(cuaU#<->|ttyS<->)(N%c))' \
-  '-s[line speed]:line speed:_baudrates' \
-  '(-*)1:host:'
+_arguments -s $args \
+  '(--speed)-s+[set line speed for the connection]:line speed [9600]:_baudrates' \
+  '(1 --line -z --system)-l+[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*)(N%c))' \
+  '1: :_guard "^-*" system'