From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 9a702c62 for ; Fri, 11 Jan 2019 23:34:48 +0000 (UTC) Received: (qmail 24530 invoked by alias); 11 Jan 2019 23:34:27 -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: 43990 Received: (qmail 23517 invoked by uid 1010); 11 Jan 2019 23:34:27 -0000 X-Qmail-Scanner-Diagnostics: from mail-io1-f67.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.100.2/25112. spamassassin: 3.4.2. Clear:RC:0(209.85.166.67):SA:0(-2.0/5.0):. Processed in 3.194117 secs); 11 Jan 2019 23:34:27 -0000 X-Envelope-From: dana@dana.is X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dana-is.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=kgLihJHRuWAf/0P7e/Nf7KFc0lgyiLma26wblU+BkWU=; b=lswOJDHAG9UToE2vFoBcXF2nXcCTT6AaVWGuGXj6M4DfGUhtk/pHHzxqGOnmQHyJnZ N3ZXJptJqqye6e1MWM4uZoqHz1N2NW2DbDkwAnecqvye5xFp6GCPJHcZlXDGMHtD5vib fykYPzY7bWVsK0zaujMv8YXsodWFikUfsDFTjC7MoIOTCN7suzUwl8z4Y7EekeFQroaw 2L+1fTa1+gm3VgNDVKA10H6kBft/XnYemmOm84AUdAOIsi/9rjWRV9cgESiIkI/SNW+L p2tP5tXMiKF1LQ97Vp9BKZt7Qq+GB1DrIS9nPVz+Esqdc+/x8BTLTjgRDfKr1O913qPl NOrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=kgLihJHRuWAf/0P7e/Nf7KFc0lgyiLma26wblU+BkWU=; b=PjgF1ISXsrd7M+mWQ8Z79RN9InWDiAwfQrZNrYZq5yJj3Os9clQ5WpiA6tw0TlJwqT howK0I727wYrTmrvS4VlkyqOL0fVHwpmPMV6NTMqObzzcIeoV/lgRXZ/9hlOnln3kJqL 2WCPegQuk0q1yHFuIXzpsuwBrVMUuCBx+NADU3P4sfqBd65+NNZN30LjZTXDaUEQR9nL vhSNYVcLkangQsUs/CVQqW20vL9mn43kzxL7ah4p5BD1bJGeGrsqSxCbEbp2EhwzMBM3 S3+1WFAPyROLLBLrOz7pN1jyrSsBPISG2yKUif7mB60WtzBSpEdsy8PJi0XzrID/A3Oy 73mg== X-Gm-Message-State: AJcUuke0OJCN3BLyBPjXax/io/IU4Y/wJIx9EH8Sg3AFnKECSIytSKnQ oAcs9TMJ7zxpNKV6UMDVawgSWxky6UQ= X-Google-Smtp-Source: ALg8bN6H38adcTfEGOft5mJiTdxBwEgU5JH6D7QwfG/oOaJidrs6Oz0yUCE+fFxq2PXvte3Cdl2r/Q== X-Received: by 2002:a6b:f106:: with SMTP id e6mr11343233iog.185.1547249659321; Fri, 11 Jan 2019 15:34:19 -0800 (PST) From: dana Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.39\)) Subject: [PATCH] Completion: _opkg: Support gain-privileges Message-Id: Date: Fri, 11 Jan 2019 17:34:17 -0600 To: Zsh workers X-Mailer: Apple Mail (2.3445.100.39) This is apparently necessary even for 'read-only' tasks on systems where = you don't already have root (like Synology). Also, it's a bit annoying if you have caching enabled and it caches an = empty array because you forgot to use sudo (or various other reasons depending = on the function). Maybe _store_cache should learn an option to make it = ignore empty parameters dana diff --git a/Completion/Linux/Command/_opkg = b/Completion/Linux/Command/_opkg index d64567681..ddaefe1eb 100644 --- a/Completion/Linux/Command/_opkg +++ b/Completion/Linux/Command/_opkg @@ -35,6 +35,10 @@ # % zstyle ':completion:*:opkg:*' conf-paths ... # Set to one or more paths or glob patterns to override the defaults = used when # searching opkg configuration data. +# +# Elevated privileges may be necessary to complete package names, etc.; = consider +# setting the gain-privileges style as follows: +# zstyle ':completion:*:(ipkg|opkg)/*' gain-privileges yes =20 ## # Check cache validity. @@ -105,7 +109,7 @@ _opkg_arch_prio() { } =20 # Already configured arches - tmp=3D( ${(f)"$( _call_program architectures $svc print-architecture = )"} ) + tmp=3D( ${(f)"$( _call_program -p architectures $svc = print-architecture )"} ) tmp=3D( ${${tmp##arch[ ]##}%% *} ) =20 tmp+=3D( @@ -182,7 +186,9 @@ _opkg_pkg_all() { =20 { (( ! $#_opkg_cache_pkg_all )) || _cache_invalid opkg-pkg-all } && ! _retrieve_cache opkg-pkg-all && { - _opkg_cache_pkg_all=3D( ${(f)"$( _call_program pkg-all ${svc:-opkg} = list )"} ) + _opkg_cache_pkg_all=3D( ${(f)"$( + _call_program -p pkg-all ${svc:-opkg} list )"} + ) _opkg_cache_pkg_all=3D( ${(@)_opkg_cache_pkg_all##[[:space:]]*} ) _opkg_cache_pkg_all=3D( ${(@)_opkg_cache_pkg_all%%[[:space:]]*} ) _store_cache opkg-pkg-all _opkg_cache_pkg_all @@ -207,7 +213,7 @@ _opkg_pkg_inst() { { (( ! $#_opkg_cache_pkg_inst )) || _cache_invalid opkg-pkg-inst } && ! _retrieve_cache opkg-pkg-inst && { _opkg_cache_pkg_inst=3D( ${(f)"$( - _call_program pkg-inst ${svc:-opkg} list-installed + _call_program -p pkg-inst ${svc:-opkg} list-installed )"} ) _opkg_cache_pkg_inst=3D( ${(@)_opkg_cache_pkg_inst##[[:space:]]*} ) _opkg_cache_pkg_inst=3D( ${(@)_opkg_cache_pkg_inst%%[[:space:]]*} ) @@ -257,7 +263,7 @@ _opkg_pkg_upgr() { { (( ! $#_opkg_cache_pkg_upgr )) || _cache_invalid opkg-pkg-upgr } && ! _retrieve_cache opkg-pkg-upgr && { _opkg_cache_pkg_upgr=3D( ${(f)"$( - _call_program pkg-upgr ${svc:-opkg} list-upgradable + _call_program -p pkg-upgr ${svc:-opkg} list-upgradable )"} ) _opkg_cache_pkg_upgr=3D( ${(@)_opkg_cache_pkg_upgr##[[:space:]]*} ) _opkg_cache_pkg_upgr=3D( ${(@)_opkg_cache_pkg_upgr%%[[:space:]]*} )