From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29493 invoked by alias); 7 Jun 2018 15:22:14 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 42943 Received: (qmail 11914 invoked by uid 1010); 7 Jun 2018 15:22:13 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(-1.4/5.0):. Processed in 1.440507 secs); 07 Jun 2018 15:22:13 -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=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=H1tn=IZ=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1528384922; bh=PO7tacyRZdMvY7tBWhEIGHiIB25rR+5p9I6r2blHpSE=; h=From:To:Subject:Date:From:Subject; b=Q/b0Uxs1uMjNhmx3BQRaiuzwSP90EjWBx0HYshsJST5VkXWKKI+7O0i+DxI3w41TyzX8KTq8TNZtJrVTZOX7JXgddGJx34u2B9N0+iv1nIz2Q2PFS44le8CPaC4x4aXfqQrkiHQWzn1q0tY/j4i+NnPAzRkvp6stbYBv9rgvIxNyJR3DdAyN55hqo2oGW2cjL3UdlB6HGlzPKWDJgB1ZeP7uM5xfSaX9aJhEGoR5/0BgAEzzuOGQTBG5FKamSpr4l78U7u2/8RldBkt0iaPQFlqnB9fAdpE/vc6s0p7x7hUDLXVSr0StFqShrkwG/9DrF+seTdNidMhRTAfbmwV1Dw== X-YMail-OSG: exRlc2EVM1mzmYP.uICCVuaTXGpHf_fyKQ7xu3UwwaZaby7FB7X0v0n7nyEULQx 7SKsUmaVuZ0crevxSMA5lbW56kiTEosX4YuLKIlUibIf2ZzKpQEUiO3XL4woZUr62Y9pVy4BNLkk aR2N_3Fi9FohSs115jTSiFXqCrn7OmUipmVIf676Hl3aqsMRAiHclNAjx6QU_9chdRcljkIcRyYB UrFXzI11qYvQh83itxxWFhZrQgq1MIN8gaaTBUtWL._LVDOuiyYtUcCpSjiXP.c3MGACBNedcitO aMDJmXCQXtWWOUn_ZoujVwWzNmYBamSLw8sWf582ryyFQ5diia_.Yhc_fAA2y9XSmI0zVb6q4A01 _QGhW4siJopfzMU6SXvmaCxRfeSVfn7E_2joMjBQG1zih4HgDIhYwClf5xtvJkBCWZnfCzbp8rgI eBCH4.GzGlBc4euw4k3C.L3uRyMISeskCWW3T6KF_zSpPTNy18gasnFqZVrBUKVZBfEMnqvC7HDo F4NNl7ch5asMtNwkXwrikbN5EJvjpOA5HRiBOFFZ5B8K1DAe3gfrsLhR38Y8K59QoVgIt7r.VPJE HoI59asPfTqj0tmQjd4AABvdE9VNbf02dISiZvF7triT4iFmbr2kJd456_m.8Gj.qYfdapQfX0G8 jcVV8WBrVXnNCtgVW47qZ6bEy_xo4K5BNULL8pgq_z0tw4xWnFwkkaOGLebFHDrNyaKTiFf9wWMT Yvbw.aG6XiD4jJxrLjIjrzPqmqZ_MnVpoDR6T7gwqB57RWt70GjPDaGsBNnr7XmKGPpHDdq6gbxQ eeFYuL9WaevoVy3g6EBVkRgZtvBu8QxBsthQIujv3e12_4ACj9DZBB7dUYNBxhUI_GChXUip1WQ. ROtVP7QgjRJBjNZKT.aNay23PVhYsD.MnpFs20pwJqCW1N2nM From: Oliver Kiddle To: Zsh workers Subject: PATCH: update samba completion MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <16832.1528384918.1@thecus> Date: Thu, 07 Jun 2018 17:21:58 +0200 Message-ID: <16833.1528384918@thecus> This patch updates another fairly old completion function that had got out-of-date, in this case _samba. Most of the patch is adding the long forms of various options. smb.conf options could be fairly effectively completed for --option if we were to run testparm --show-all-parameters and do some basic conversion on the output. Oliver diff --git a/Completion/Unix/Command/_samba b/Completion/Unix/Command/_samba index faad69ba4..9a2fea9d6 100644 --- a/Completion/Unix/Command/_samba +++ b/Completion/Unix/Command/_samba @@ -1,93 +1,112 @@ #compdef smbcontrol smbclient nmblookup smbstatus -local expl msgs args +local curcontext="$curcontext" ret=1 +local -a state line expl msgs args ign + +(( CURRENT == 2 )) || ign='!' +args=( + '(-d --debuglevel)'{-d+,--debuglevel=}'[set debug level]:debug level (1..10) [1]' + '(-s --configfile)'{-s+,--configfile=}'[specify alternate smb.conf file]:config file:_files' + '(-l --log-basename)'{-l+,--log-basename=}'[specify base name for log files]:base name:_files' + '*--option=[set smb.conf option from command line]:option=value' + "${ign}(1 2 3 -)"{-\?,--help}'[display usage information]' + "${ign}(1 2 3 -)--usage[display brief usage information]" + "${ign}(1 2 3 - *)"{-V,--version}'[display version information]' +) case $service in smbcontrol) - case $CURRENT in - 3) - msgs=( debug ping profile debuglevel profilelevel ) - case $words[CURRENT-1] in - nmbd) msgs=( $msgs force-election ) ;; - smbd) msgs=( $msgs printer-notify ) ;; - -i) return 1 ;; - esac - _wanted message-type expl 'message types' compadd -a msgs + _arguments -C -S $args \ + '(-t --timeout)'{-t+,--timeout=}'[set timeout]:timeout (seconds)' \ + ':destination:(all nmbd smbd winbindd)' \ + ':message type:->message-types' \ + ':parameter:->parameters' && ret=0 + + case $state in + message-types) + msgs=( ${${${${${(f)"$(_call_program message-types smbcontrol -\? 2>&1)"}[(r)