Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] new completion for nettop command (macOS)
- X-seq: zsh-workers 53807
- From: Jun T <takimoto-j@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] new completion for nettop command (macOS)
- Date: Fri, 27 Jun 2025 10:46:10 +0900
- Archived-at: <https://zsh.org/workers/53807>
- List-id: <zsh-workers.zsh.org>
nettop is a network monitoring tool on macOS.
diff --git a/Completion/Darwin/Command/_nettop b/Completion/Darwin/Command/_nettop
new file mode 100644
index 000000000..128b102e4
--- /dev/null
+++ b/Completion/Darwin/Command/_nettop
@@ -0,0 +1,60 @@
+#compdef nettop
+
+local curcontext="$curcontext" state state_descr line ret=1
+typeset -A opt_args
+
+local msg='number of samples (0=infinite)'
+local specs=(
+ '-m+[specify the mode]:mode:(tcp udp route)'
+ '*-t+[specify interface type]:interface type:(wifi wired loopback owdl expensive undefined external)'
+ '-n[disable address to name resolution]'
+ '-c[less intensive use of the CPU]'
+ '-d[delta mode]'
+ '-x[extended display of numbers instead of suffixes such as MiB]'
+ '-P[display per-process summaries only]'
+ '-s+[specify delay between updates]: :_numbers -u seconds -d 1 delay'
+ "(-L)-l+[display specified number of samples and exit]:$msg"
+ "(-l)-L+[display specified number of samples in CSV and exit]:$msg"
+ '*-p+[select a particular process]: :->process'
+ '-j+[include the specified columns]: :->columns-off'
+ '-J+[include only the specified columns]: :->columns-all'
+ '-k+[exclude the specified columns]: :->columns-on'
+ '(-)-h[display help message and exit]'
+)
+
+_arguments -s -C : $specs && ret=0
+
+case $state in
+ columns-*)
+ local columns_on=( # columns included by default
+ interface state bytes_in bytes_out rx_dupe rx_ooo re-tx rtt_avg
+ rcvsize tx_win tc_class tc_mgt cc_algo P C R W
+ arch
+ )
+ local columns_off=( # not included by default
+ type packets_in packets_out rtt_min rtt_var
+ sndsize sndused rcvused unacked tx_cwin
+ cell_bytes_in cell_bytes_out wifi_bytes_in wifi_bytes_out
+ wired_bytes_in wired_bytes_out
+ uuid epid euuid vuuid closed_tcp closed_udp
+ )
+ case $state in
+ columns-on)
+ _values -s , 'column name' $columns_on && ret=0
+ ;;
+ columns-off)
+ _values -s , 'column name' $columns_off && ret=0
+ ;;
+ columns-all)
+ _values -s , 'column name' $columns_on $columns_off && ret=0
+ ;;
+ esac
+ ;;
+ process)
+ local procs=( ${(@)${(f@)"$(_call_program processes-names
+ $words[1] -P -l 1 -J '')"}%.[0-9]*} )
+ _alternative 'processes-names:process name:($procs)' \
+ 'processes:pid:_pids' && ret=0
+esac
+
+return ret
Messages sorted by:
Reverse Date,
Date,
Thread,
Author