Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Qmail-Scanner-Diagnostics: from nm8-vm5.bullet.mail.ir2.yahoo.com by f.primenet.com.au (envelope-from <okiddle@yahoo.co.uk>, uid 7791) with qmail-scanner-2.11 
 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1.  
 Clear:RC:0(212.82.96.139):SA:0(0.0/5.0):. 
 Processed in 0.172879 secs); 03 Aug 2016 15:18:55 -0000
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,SPF_PASS,
	T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1
X-Envelope-From: okiddle@yahoo.co.uk
X-Qmail-Scanner-Mime-Attachments: |
X-Qmail-Scanner-Zip-Files: |
Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.mail.yahoo.com designates 212.82.96.139 as permitted sender)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1470237174; bh=hhbKuufPfnsKLF4hkXi9wOKoMV3W5Excbz/6/Aw69B0=; h=From:To:Subject:Date:From:Subject; b=qJJb8Vjjm7fSWHVzAx7ZGgIZwJ1bgdl9avzIxL1Pen8s6Vxo+GpScfxM+jsnVV7T2eQ5546R4PrluKVl6hU3G1xZtgXneTj3U07uWrpi/I1FIO6x2sL8zFvznzeIrV1LboKgRIDAukDhbALSRmr89emTK6HeM2l+hjTV8MDMbN+rr3hIXg1DAsH+HivKTfR0Hj7jNNJXKcGVk4bstPN2hmDIufjJlmPQr3TaLZ7brdv6XaLLVnPjgddI6aPOeRrNwuKFaJpnfkVYjjLZFL/8vqL13Oo1RJ6/1R881GjC/1mWLoDAWfsZPLGts4p4oqeK+pbRUKzO9+O2EKa+2MSLFg==
X-Yahoo-Newman-Id: 95309.97984.bm@smtp110.mail.ir2.yahoo.com
X-Yahoo-Newman-Property: ymail-3
X-YMail-OSG: KiIHWdkVM1l3c1SnAMbDTcbIrRIJOB2AGxJ.gPK9Skyr18m
 d6COLr_tP5unweeORa0g3bNoTAOehmapXanSPw0tTOoh7eOR1EzKjS0B_YOM
 la0Vrrmih.mgZQY_1UcHfhn55.4luLLZ4XAC_YknhRqdO2IAdhx53EbohDBr
 XGAfQGatLuwerAeYB9qmioM.KdInC3H7qJGffu.NFYGHxBjMpPGkASO3R4Gq
 eYupU5G4z0gwPWbisSXyTt1rUxGkZhXm8f6Gfzqq4V4pHZ3y80Ney9.RNlTP
 6qGwWUJ8Mn4.NRbludMMjPYreN3M5B9HXGeeyyqM8LLhjcKkJIeI3wecOk9u
 i16M.OXaSTyMRONEGN1.x4as7DNw5z.XQ21qH7.VYNaZCWpkmrLA8JgL4t2n
 y4_qAGVymomAJCAmTqn9Km.QLt1DAFa3coVtaRJzPGjzYJDhhVKrM.TQaD8D
 CtTEQye2OG9upz8DQJ_69PqkVc8ta.GtfYQ2FfLdIc2MIDSuDEDteuQ3pwbF
 kKRQoTijFQ._hdOPI55wgmbyCx3TjlhzjBG62uqWrjyw-
X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI-
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Zsh workers <zsh-workers@zsh.org>
Subject: PATCH: minor completion updates for FreeBSD
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <91918.1470237173.1@hydra.kiddle.eu>
Date: Wed, 03 Aug 2016 17:12:53 +0200
Message-ID: <91919.1470237173@hydra.kiddle.eu>
X-Seq: zsh-workers 38989

freebsd-update allows you to specify, e.g. both fetch and install. I
expect the exclusion lists could prevent more combinations but there
aren't many.
getent lists the databases it can query which doesn't match our default
fallback list exactly so it is useful to parse it out.
cp and sockstat have gained -s options

Oliver

diff --git a/Completion/BSD/Command/_freebsd-update b/Completion/BSD/Command/_freebsd-update
index 36b4a01..d424572 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 daad946..913f3eb 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 7087b4e..5c3f379 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 b9aff66..7f4e8bc 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

