Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] update _pmap, _date, _pgrep and _sysctl
- X-seq: zsh-workers 53898
- From: "Jun. T" <takimoto-j@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] update _pmap, _date, _pgrep and _sysctl
- Date: Thu, 28 Aug 2025 09:30:33 +0900
- Archived-at: <https://zsh.org/workers/53898>
- List-id: <zsh-workers.zsh.org>
NetBSD has its own pmap command. The procps part of _pmap is not modified.
I will move _pmap to Completion/Unix/Command/.
Other three files are just minor updates (mostly for NetBSD).
Completion/Linux/Command/_pmap | 60 ++++++++++++++++++++++++++++-------------
Completion/Unix/Command/_date | 6 +----
Completion/Unix/Command/_pgrep | 4 +++
Completion/Unix/Command/_sysctl | 8 ++++--
4 files changed, 53 insertions(+), 25 deletions(-)
diff --git a/Completion/Linux/Command/_pmap b/Completion/Linux/Command/_pmap
index ba3321531..5fd92ab9e 100644
--- a/Completion/Linux/Command/_pmap
+++ b/Completion/Linux/Command/_pmap
@@ -1,20 +1,44 @@
#compdef pmap
-# based on procps-ng-3.3.15
-_arguments -s \
- '(exit -A --range)'{-A+,--range}'[limit results to the specified address range]:low,high: ' \
- '(exit -q --quiet)'{-q,--quiet}'[do not display some header or footer lines]' \
- '(exit -p --show-path)'{-p,--show-path}'[show full path to files in the mapping column]' \
- '(exit)*: :_pids' \
- + '(format)' \
- '(exit)'{-d,--device}'[show the device format]' \
- '(exit)'{-x,--extended}'[show the extended format]' \
- '(exit)-X[show even more details than -x option]' \
- '(exit)-XX[show everything the kernel provides]' \
- '(exit)'{-c,--read-rc}'[read the default configuration]' \
- '(exit)'{-C+,--read-rc-from=}'[read the configuration from the specified file]: :_files' \
- + '(exit)' \
- '(- *)'{-n,--create-rc}'[create new default configuration and exit]' \
- '(- *)'{-N+,--create-rc-to=}'[create new configuration to the specified file and exit]: :_files' \
- '(- *)'{-h,--help}'[display help text and exit]' \
- '(- *)'{-V,--version}'[display version information and exit]'
+if _pick_variant procps=procps-ng unix -V 2>/dev/null; then
+ # based on procps-ng-3.3.15
+ _arguments -s \
+ '(exit -A --range)'{-A+,--range}'[limit results to the specified address range]:low,high: ' \
+ '(exit -q --quiet)'{-q,--quiet}'[do not display some header or footer lines]' \
+ '(exit -p --show-path)'{-p,--show-path}'[show full path to files in the mapping column]' \
+ '(exit)*: :_pids' \
+ + '(format)' \
+ '(exit)'{-d,--device}'[show the device format]' \
+ '(exit)'{-x,--extended}'[show the extended format]' \
+ '(exit)-X[show even more details than -x option]' \
+ '(exit)-XX[show everything the kernel provides]' \
+ '(exit)'{-c,--read-rc}'[read the default configuration]' \
+ '(exit)'{-C+,--read-rc-from=}'[read the configuration from the specified file]: :_files' \
+ + '(exit)' \
+ '(- *)'{-n,--create-rc}'[create new default configuration and exit]' \
+ '(- *)'{-N+,--create-rc-to=}'[create new configuration to the specified file and exit]: :_files' \
+ '(- *)'{-h,--help}'[display help text and exit]' \
+ '(- *)'{-V,--version}'[display version information and exit]'
+elif [[ $OSTYPE = netbsd* ]]; then
+ _arguments -s \
+ '(-E -S -V)-A[dump vm_amap structure found at the specified address]:address:' \
+ "-a[display all information from the process's memory map]" \
+ '-D[enable version debug facilities]:bitmask:' \
+ '-d[dump vm_map and vm_map_entry in a style like ddb(4)]' \
+ '(-A -S -V)-E[dump vm_map_entry structure found at the specified address]:address:' \
+ '-l[dump information in a format like Linux /proc file system]' \
+ '(-N)-M[extract values associated with the name list from the specified core]:core:' \
+ '-m[dump information in the same format as the map pseudo-file in /proc]' \
+ '(-M)-N[extract the name list from the specified system]:system:' \
+ '(-p)-P[print information about pmap itself]' \
+ '(-P)-p[print information about the specified process]: :_pids' \
+ '-R[recurse into submaps]' \
+ '(-A -E -V)-S[dump vmspace structure found at the specified address]:address:' \
+ '-s[Solaris style output format (default)]' \
+ '-t[print entries to the underlying RB tree]' \
+ '(-A -E -S)-V[dump vm_map structure found at the specified address]:address:' \
+ '-v[verbose output]' \
+ '*:pid:_pids'
+else
+ _default
+fi
diff --git a/Completion/Unix/Command/_date b/Completion/Unix/Command/_date
index f70fc3722..2c023e8f7 100644
--- a/Completion/Unix/Command/_date
+++ b/Completion/Unix/Command/_date
@@ -32,6 +32,7 @@ else
freebsd*|dragonfly*|darwin*|netbsd*|openbsd*)
opts+=( -A '-*' )
args+=(
+ '-f+[use specified format for input]:parsing format:_date_formats:new date'
"-j[don't try to set date]"
'2:format or date:->fmt_date'
)
@@ -42,11 +43,6 @@ else
'-R[display in RFC2822 format]'
)
;|
- freebsd*|dragonfly*|darwin*|openbsd*)
- args+=(
- '-f+[use specified format for input]:parsing format:_date_formats:new date'
- )
- ;|
dragonfly*|netbsd*|openbsd*)
args+=(
'-r+[output date specified by reference time]:seconds since epoch'
diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep
index 798b6d6d4..b7009eafb 100644
--- a/Completion/Unix/Command/_pgrep
+++ b/Completion/Unix/Command/_pgrep
@@ -86,6 +86,10 @@ case $OSTYPE in
pgopts=dfGglnoPqsTtUuvx
pkopts=fGgIlnoPqsTtUuvx
;;
+ netbsd*)
+ pgopts=dfGgilnPqstUuvx
+ pkopts=fGgilnPstUuvx
+ ;;
darwin*)
pgopts=adFfGgiLlnoPqtUuvx
pkopts=aFfGgIiLlnoPtUuvx
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index 09995c98e..02fe15a4f 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -39,7 +39,10 @@ case $OSTYPE in
freebsd<14->.*)
args+=(
'-F[print the format of the variable]'
+ '-J[display only jail prison sysctl variables]'
+ '-j[perform the actions inside the specified jail]:jail id or name:'
'(-N)-l[show the length of variables along with their values]'
+ '-V[display only VNET sysctl variables]'
)
;|
freebsd<11->.*)
@@ -79,8 +82,9 @@ case $OSTYPE in
sysctlvars=( ${${${(f)"$(_call_program sysctl-variables
sysctl -a 2>/dev/null)"}%%=*}:# *} )
_arguments -S -s -A "-*" \
- '(-A -q *)-a[list all string and integer variables]' \
- '(-a -q *)-A[list all known variables]' \
+ '(-A -f -q *)-a[list all string and integer variables]' \
+ '(-a -f -q *)-A[list all known variables]' \
+ '(-A -a *)-f[read name=value from specified file]: :_files' \
'-n[show only values]' \
'(-a -A)-q[suppress all output when setting a variable]' \
'*:sysctl variable:_multi_parts -i -S = -q . sysctlvars'
Messages sorted by:
Reverse Date,
Date,
Thread,
Author