summary refs log tree commit diff
diff options
context:
space:
mode:
authordana <dana@dana.is>2019-01-18 01:45:27 -0600
committerdana <dana@dana.is>2019-01-18 01:45:27 -0600
commit96a79938010073d14bd9db31924f7646968d2f4a (patch)
tree7e966256cfc6002eef7687bfab94560b9cb6a212
parent88ad890c051648d62b9f12227ebc2adde44e9e66 (diff)
downloadzsh-96a79938010073d14bd9db31924f7646968d2f4a.tar.gz
zsh-96a79938010073d14bd9db31924f7646968d2f4a.tar.xz
zsh-96a79938010073d14bd9db31924f7646968d2f4a.zip
43990: _opkg: Support gain-privileges
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Linux/Command/_opkg14
2 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 829f699f3..ad2d89703 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-18  dana  <dana@dana.is>
+
+	* 43990: Completion/Linux/Command/_opkg: Support gain-privileges
+
 2019-01-08  Peter Stephenson  <p.stephenson@samsung.com>
 
 	* users/23829: Completion/Unix/Type/_path_files,
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 <pattern> ...
 #   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
 
 ##
 # Check cache validity.
@@ -105,7 +109,7 @@ _opkg_arch_prio() {
   }
 
   # Already configured arches
-  tmp=( ${(f)"$( _call_program architectures $svc print-architecture )"} )
+  tmp=( ${(f)"$( _call_program -p architectures $svc print-architecture )"} )
   tmp=( ${${tmp##arch[ ]##}%% *} )
 
   tmp+=(
@@ -182,7 +186,9 @@ _opkg_pkg_all() {
 
   { (( ! $#_opkg_cache_pkg_all )) || _cache_invalid opkg-pkg-all } &&
   ! _retrieve_cache opkg-pkg-all && {
-    _opkg_cache_pkg_all=( ${(f)"$( _call_program pkg-all ${svc:-opkg} list )"} )
+    _opkg_cache_pkg_all=( ${(f)"$(
+      _call_program -p pkg-all ${svc:-opkg} list )"}
+    )
     _opkg_cache_pkg_all=( ${(@)_opkg_cache_pkg_all##[[:space:]]*} )
     _opkg_cache_pkg_all=( ${(@)_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=( ${(f)"$(
-      _call_program pkg-inst ${svc:-opkg} list-installed
+      _call_program -p pkg-inst ${svc:-opkg} list-installed
     )"} )
     _opkg_cache_pkg_inst=( ${(@)_opkg_cache_pkg_inst##[[:space:]]*} )
     _opkg_cache_pkg_inst=( ${(@)_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=( ${(f)"$(
-      _call_program pkg-upgr ${svc:-opkg} list-upgradable
+      _call_program -p pkg-upgr ${svc:-opkg} list-upgradable
     )"} )
     _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr##[[:space:]]*} )
     _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr%%[[:space:]]*} )