about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/BSD/Command/_freebsd-update2
-rw-r--r--Completion/BSD/Command/_sockstat1
-rw-r--r--Completion/Unix/Command/_cp3
-rw-r--r--Completion/Unix/Command/_getent2
5 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fb9f761fd..ae8d0ca39 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2016-08-03  Oliver Kiddle  <opk@zsh.org>
 
+	* 38989: Completion/BSD/Command/_freebsd-update,
+	Completion/BSD/Command/_sockstat, Completion/Unix/Command/_cp,
+	Completion/Unix/Command/_getent: minor completion updates for BSD
+
 	* 38986: Completion/Unix/Command/_gsettings: new completion
 
 2016-08-01  Daniel Shahaf  <d.s@daniel.shahaf.name>
diff --git a/Completion/BSD/Command/_freebsd-update b/Completion/BSD/Command/_freebsd-update
index 36b4a015c..d42457272 100644
--- a/Completion/BSD/Command/_freebsd-update
+++ b/Completion/BSD/Command/_freebsd-update
@@ -20,4 +20,4 @@ _arguments \
   '-s[fetch files from the specified server or server pool]:server:_hosts' \
   '-t[mail output of cron command, if any, to address]:address' \
   '--currently-running[assume specified release as current]:release' \
-  ':command:_values -S " " -w "commands" $flags[@]'
+  '*:command:_values -S " " -w "commands" $flags[@]'
diff --git a/Completion/BSD/Command/_sockstat b/Completion/BSD/Command/_sockstat
index daad946fc..913f3eb05 100644
--- a/Completion/BSD/Command/_sockstat
+++ b/Completion/BSD/Command/_sockstat
@@ -28,6 +28,7 @@ case $OSTYPE in
       '*-j[show sockets belonging to JID]: : _jails -0 -o jid'
       '-L[exclude loopback]'
       '*-P+[specify protocol]: : _values -s , protocols $protocols'
+      '-s[display protocol state if applicable]'
     )
   ;;
   netbsd*)
diff --git a/Completion/Unix/Command/_cp b/Completion/Unix/Command/_cp
index 7087b4e6c..5c3f37983 100644
--- a/Completion/Unix/Command/_cp
+++ b/Completion/Unix/Command/_cp
@@ -57,7 +57,8 @@ else
     '(dragonfly|freebsd)*' '-l[link files instead of copying]' \
     '(darwin|dragonfly|freebsd|netbsd)*' '-v[show file names as they are copied]' \
     'darwin*' "-X[don't copy extended attributes or resource forks]" \
-    '(dragonfly|freebsd)*' "-x[don't traverse file systems]"
+    '(dragonfly|freebsd)*' "-x[don't traverse file systems]" \
+    'freebsd<10->.*' '-s[make symbolic links instead of copies of non-directories]'
   do
     [[ $OSTYPE = $~pattern ]] && args+=( $arg )
   done
diff --git a/Completion/Unix/Command/_getent b/Completion/Unix/Command/_getent
index b9aff6642..7f4e8bc9c 100644
--- a/Completion/Unix/Command/_getent
+++ b/Completion/Unix/Command/_getent
@@ -29,6 +29,8 @@ case $state in
       databases=( "${(@)${(@f)$(_call_program databases $words[1] --help \
                    2>/dev/null)}[(r)Supported*,-1]}" )
       databases=( "${=${(@)databases[2,${(@)databases[(i)]}-1]}}" )
+    elif [[ $OSTYPE = freebsd* ]]; then
+      databases=( ${=${(f)"$(_call_program databases $words[1] 2>&1)"}[-1]} )
     else
       databases=( passwd group hosts ipnodes services protocols ethers networks netmasks )
     fi