Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: completion options update
- X-seq: zsh-workers 43816
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxx>
- Subject: PATCH: completion options update
- Date: Sun, 11 Nov 2018 09:57:29 +0100
- Authentication-results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1541926655; bh=NbsaUZM/nHSt7GueWM3FQup4PnQIV67gITW0NOakJuI=; h=From:To:Subject:Date:From:Subject; b=cMLPhtPlEvh2Tx8u1/dQDOGlLCi3CRpFwIpGj2RevKncfVKHD+QsKT0+6drbMsFtYB8cFfMH91SMvkNyWH8d3etvlYmnDswFXlKyaYFM990XLDLQYCA8eAR4hoBXCMs/S93et7pFdX+95duhMMzwAX7JF1NNuyWBKG0vgEMcqHf42iKEkhzJBuJsYvthTaAPb2mknyH/KA6bs7RllU0Mb95MeDR7+F5lgZ6fm0f5raa/ksbh153uf4IZe8RHmjff3LQvmz2empA/pJWKXN86/ViguWuEZ+rlE7VYxYfz/r6JoPw5t2KiL0MKrZlIgihK4orWXFrTPdPI4jt+8x7VQA==
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
This is the latest installment of the usual completion options update
based on -h output comparisons. Applicable versions are:
ansible 2.7
dmidecode 3.2
ethtool 4.19
jq 1.6
links 2.17
luarocks 3.0.3
mpc 0.31
tmux 2.8
valgrind 3.14.0
samba 4.9.1 (smbclient)
OpenBSD 6.4 (dhclient, ssh, vmctl)
util-linux 2.33 (column, losetup, lsblk, script)
btrfs 4.17.1
My first attempt to send this failed with a message indicating that the
list rejects messages larger than 80K so I'll send the btrfs patch
separately.
Oliver
diff --git a/Completion/BSD/Command/_vmctl b/Completion/BSD/Command/_vmctl
index 4e66c2383..66d9081b0 100644
--- a/Completion/BSD/Command/_vmctl
+++ b/Completion/BSD/Command/_vmctl
@@ -1,16 +1,18 @@
#compdef vmctl
-local context line state state_descr
-local -a subcommands vmctl_status
-local -A opt_args
+local -a subcommands alts
-_vm_name() {
- compadd "$@" - ${${${(@f)"$(_call_program vmctl_status vmctl status)"}[2,-1]}##* }
+_vm_names() {
+ local expl
+ _description virtual-machines expl 'virtual machine'
+ compadd "$@" "$expl[@]" - ${${${(@f)"$(_call_program virtual-machines vmctl status)"}[2,-1]}##* }
}
-_vm_switch() {
+_vm_switches() {
+ local expl
+ _description virtual-switches expl 'virtual switch'
[[ -r /etc/vm.conf ]] &&
- compadd "$@" - ${${${(M)${(f)"$(</etc/vm.conf)"}:#switch *}##switch ##\"#}%%\"# *}
+ compadd "$@" "$expl[@]" - ${${${(M)${(f)"$(</etc/vm.conf)"}:#switch *}##switch ##\"#}%%\"# *}
}
subcommands=(
@@ -26,22 +28,30 @@ subcommands=(
{show,status}:'list VMs running or just the specified id'
start:'start a VM'
stop:'stop a VM'
- unpause:'unpause a VM'
+ unpause:'resume a VM'
)
if (( CURRENT == 2 )); then
_describe subcommand subcommands
else
+ local curcontext="${curcontext%:*}-${words[2]}:"
shift words; (( CURRENT-- ))
case $words[1] in
- console|pause|send|show|status|stop|unpause)
- _arguments ':id:_vm_name'
+ console|pause|send|show|status|unpause)
+ _vm_names
;;
create)
- _arguments \
- ':path:_files' \
- ': :(-s)' \
- ':disk size in megabytes: '
+ if (( CURRENT == 2 )); then
+ compset -P '(raw|qcow2):' || alts=(
+ 'prefixes:prefix:compadd -S: raw qcow2'
+ )
+ _alternative 'files:path:_files' $alts
+ else
+ shift words; (( CURRENT-- ))
+ _arguments \
+ '-s+[specify size]:size' \
+ '-b+[specify base disk]:base image:_files'
+ fi
;;
load)
_arguments ':configuration file:_files'
@@ -61,7 +71,7 @@ else
;;
start)
if (( CURRENT == 2 )); then
- _vm_name
+ _vm_names
else
shift words; (( CURRENT-- ))
_arguments -s \
@@ -71,9 +81,22 @@ else
'-i+[number of network interfaces]:number: ' \
'-L[add a local network interface]' \
'-m+[memory size in megabytes]:megabytes: ' \
- '-n+[specify switch to attach]:switch:_vm_switch' \
- '-r+[ISO image file for virtual CD-ROM]:ISO image:_files'
+ '-n+[specify switch to attach]: :_vm_switches' \
+ '-r+[ISO image file for virtual CD-ROM]:ISO image:_files' \
+ '-t+[use existing VM as a template]: :_vm_names'
fi
- ;;
+ ;;
+ stop)
+ if (( CURRENT == 2 )); then
+ _alternative \
+ 'all:all:(-a)' \
+ 'virtual-machines: :_vm_names'
+ else
+ shift words; (( CURRENT-- ))
+ _arguments \
+ '-f[forcefully stop without attempting a graceful shutdown]' \
+ '-w[wait until the VM has been terminated]'
+ fi
+ ;;
esac
fi
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 84f2837a8..33b7681dc 100644
--- a/Completion/Linux/Command/_ethtool
+++ b/Completion/Linux/Command/_ethtool
@@ -106,6 +106,7 @@ if [[ -n $state ]]; then
'(d)a[wake on ARP]' \
'(d)g[wake on MagicPacket(tm)]' \
'(d)s[enable SecureOn(tm) password for MagicPacket(tm)]' \
+ '(d)f[wake on filter(s)]' \
'(p u m b a g s)d[disable (wake on nothing)]'
;;
sopass)
@@ -138,9 +139,6 @@ if [[ -n $state ]]; then
flags)
_message -e masks mask
;;
- encoding)
- _wanted encodings expl encoding compadd auto off rs baser
- ;;
context)
_message -e contexts 'RSS context'
;;
@@ -255,7 +253,7 @@ if [[ -n $state ]]; then
hkey hfunc delete
;;
-f|--flash)
- if (( CURRENT = 4 )); then
+ if (( CURRENT == 4 )); then
_files
else
_message -e regions region
@@ -291,7 +289,11 @@ if [[ -n $state ]]; then
{mgmt,irq,dma,filter,offload,mac,phy,ram,ap}{,-shared}
;;
--set-fec)
- _wanted options expl tunable compadd -F line - encoding
+ if (( CURRENT == 4 )); then
+ _wanted options expl tunable compadd - encoding
+ else
+ _wanted encodings expl encoding compadd -F line auto off rs baser
+ fi
;;
esac
;;
diff --git a/Completion/Linux/Command/_losetup b/Completion/Linux/Command/_losetup
index 9cfaaf5bf..d826e8d51 100644
--- a/Completion/Linux/Command/_losetup
+++ b/Completion/Linux/Command/_losetup
@@ -18,7 +18,8 @@ _arguments -s -S \
- 'info' \
'(-v --verbose)'{-v,--verbose}'[verbose mode]' \
'(-o --offset -a --all)'{-a,--all}'[show the status of all loop devices]' \
- '(-O --output)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd - name autoclear back-file back-ino back-maj\:min maj\:min offset partscan ro sizelimit dio log-sec' \
+ '(-O --output --output-all)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd - name autoclear back-file back-ino back-maj\:min maj\:min offset partscan ro sizelimit dio log-sec' \
+ '(-O --output)--output-all[output all columns]' \
'(-J --json --raw -O --output -n --noheadings)'{-J,--json}'[use JSON --list output format]' \
'(-l --list)'{-l,--list}'[list currently used loop devices]' \
'(-J --json)--raw[raw output format]' \
diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk
index f37305445..1a3687c45 100644
--- a/Completion/Linux/Command/_lsblk
+++ b/Completion/Linux/Command/_lsblk
@@ -15,6 +15,7 @@ _arguments -C -s -S \
'(H -p --paths)'{-p,--paths}'[print complete device path]' \
'(H -s --inverse)'{-s,--inverse}'[reverse dependency order]' \
'(H -x --sort)'{-x+,--sort=}'[sort output by specified column]:column:->columns' \
+ '(H)--sysroot=[use specified directory as system root]:directory:_directories' \
'*:device:_files -g "*(-%b)" -P / -W /' \
+ fields \
'(H -D --discard -o --output -O --output-all)'{-D,--discard}'[output discard capabilities]' \
diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind
index 4187c3cc1..21b7d88c7 100644
--- a/Completion/Linux/Command/_valgrind
+++ b/Completion/Linux/Command/_valgrind
@@ -1,8 +1,8 @@
#compdef valgrind -value-,VALGRIND_OPTS,-default-
local curcontext="$curcontext" state line
-local -a cmd common common_{mem_null,read_varinfo}
-local -a args args_{addrcheck,drd,memcheck,cachegrind,helgrind,lackey,massif,none}
+local -a cmd common_{own_malloc,read_varinfo,report_errors,partial}
+local -a args args_{addrcheck,drd,memcheck,cachegrind,helgrind,lackey,massif,none,exp_{bbv,dhat,sgcheck}}
cmd=(
'1: : _command_names -e'
@@ -16,31 +16,74 @@ if [[ $service = *_OPTS* ]]; then
cmd=()
fi
-common=(
- '--alignment=-[set minimum alignment of allocations]:number'
+common_own_malloc=(
+ '--alignment=-[set minimum alignment of heap allocations]:number [16]'
+ '--redzone-size=-[set minimum size of redzones added before/after heap blocks]:size (bytes) [16]'
+ '--xtree-memory=-[profile heap memory in an xtree [none]:(none allocs full)'
+ '--xtree-memory-file=-[specify xtree memory report file]:file [xtmemory.kcg.%p]:_files'
)
common_read_varinfo=(
'--read-var-info=-[read DWARF3 debug info]:enable:(yes no)'
)
-common_mem_null=(
+common_report_errors=(
'--xml=-[output everything in XML]:enable:(yes no)'
+ '--xml-fd=-[send XML output to file descriptor]:file descriptor:_file_descriptors'
+ '--xml-file=-[send XML output to specified file]:file:_files'
+ '--xml-socket=-[send XML output to specified socket]:socket:_hosts'
'--xml-user-comment=-[copy specified string verbatim to XML output]:string'
+ '--demangle=-[automatically demangle C++ names]:enable:(yes no)' \
+ '--num-callers=-[specify no of callers to show in stack traces]:number' \
+ '--error-limit=-[stop showing new errors if too many]:enable:(yes no)' \
+ '--exit-on-first-error=-[exit on the first error]:enable:(yes no)' \
+ '--error-exitcode=-[exit code to return if errors found]:exit code' \
+ '--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \
+ '--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \
+ '--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \
+ '--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \
+ '--suppressions=-[suppress errors described in specified file]:file:_files' \
+ '--gen-suppressions=-[print suppressions for errors detected]:enable:(yes no)' \
+ '--input-fd=-[specify file descriptor for input]:file descriptor:_file_descriptors' \
+ '--max-stackframe=-[assume stack switch for SP changes larger than specified size]:size (bytes)' \
+ "--main-stacksize=-[set size of main thread's stack]:size (bytes)" \
+)
+[[ $OSTYPE = darwin* ]] && common_report_errors+=(
+ '--dsymutil=-[run dsymutil on Mac OS X when helpful]:enable [yes]:(yes no)'
)
+common_partial='--partial-loads-ok=-:enable:(yes no)'
+
args_addrcheck=(
- $common
+ $common_own_malloc
$common_mem_null
- '--partial-loads-ok=-:enable:(yes no)'
- '--freelist-vol=-[volume of freed blocks queue]:blocks'
- '--leak-check=-[search for memory leaks at exit]:enable:(yes no)'
- '--leak-resolution=-[how much bt merging in leak check]:level:(low med high)'
- '--show-reachable=-[show reachable blocks in leak check]:enable:(yes no)'
- '--workaround-gcc296-bugs=-:enable:(yes no)'
+ '--leak-check=-[search for memory leaks at exit]:enable [summary]:(no summary full)'
+ '--leak-resolution=-[specify differentiation of leak stack traces]:level [high]:(low med high)'
+ '(--show-reachable --show-possibly-lost)--show-leak-kinds=-[specify leak kinds to show]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable'
+ '--errors-for-leak-kinds=-[specify which leak kinds are errors]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable all none'
+ '--leak-check-heuristics=-[specify heuristics to use for during leak searches]:heuristic:_sequence compadd - stdstring length64 newarray multipleinheritance all none'
+ '(--show-leak-kinds)--show-reachable=-[show reachable blocks in leak check]:enable:(yes no)'
+ '(--show-leak-kinds)--show-possibly-lost=-:enable:(yes no)'
+ '--xtree-leak=-[output leak result in xtree format]:enable [no]:(yes no)'
+ '--xtree-leak-file=-[specify xtree leak report file]:file [xtleak.kcg.%p]:_files'
+ '--undef-value-errors=-[check for undefined value errors]:enable [yes]:(yes no)'
+ '--track-origins=-[show origins of undefined values]:enable [no]:(yes no)'
+ $common_partial
+ '--expensive-definedness-checks=-[use extra-precise definedness tracking]:enable [auto]:(no auto yes)'
+ '--freelist-vol=-[specify volume of freed blocks queue]:blocks [20000000]'
+ '--freelist-big-blocks=-[release first blocks larger than specified size]:size [1000000]'
+ '--workaround-gcc296-bugs=-:enable [no]:(yes no)'
+ '--ignore-ranges=-[assume given addresses are OK]:address ranges'
+ "--ignore-range-below-sp=-[don't report errors for accesses at the given offsets below SP]:offsets"
+ "--malloc-fill=-[fill malloc'd areas with given value]:value (hex)"
+ "--free-fill=-[fill free'd areas with given value]:value (hex)"
+ "--keep-stacktraces=-[control which stack traces to keep for malloc'd/free'd areas]:stack traces [alloc-and-free]:(alloc free alloc-and-free alloc-then-free none)"
+ "--show-mismatched-frees=-[show frees that don't match the allocator]:enable [yes]:(yes no)"
)
args_drd=(
+ $common_own_malloc
+ $common_read_varinfo
'--check-stack-var=-[detect data races on stack variables]:enable [no]:(yes no)'
'--exclusive-threshold=-[print an error if any mutex or writer lock is held longer than specified time]:time (ms)'
'--first-race-only=-[report only the first detected data race]:enable [no]:(yes no)'
@@ -73,11 +116,14 @@ args_memcheck=(
args_cachegrind=(
'--I1=-[set I1 cache manually]:size,assoc,line_size'
'--D1=-[set D1 cache manually]:size,assoc,line_size'
- '--L2=-[set L2 cache manually]:size,assoc,line_size'
+ '--LL=-[set LL cache manually]:size,assoc,line_size'
+ '--cache-sim=-[collect cache stats]:enable [yes]:(yes no)'
+ '--branch-sim=-[collect branch prediction stats]:enable [no]:(yes no)'
+ '--cachegrind-out-file=-[specify output file name]:file name [cachegrind.out.%p]:_files'
)
args_helgrind=(
- $common
+ $common_own_malloc
$common_read_varinfo
'--free-is-write=-[treat heap frees as writes]:enable [no]:(yes no)'
'--track-lockorders=-[show lock ordering errors]:enable [yes]:(no yes)'
@@ -86,31 +132,68 @@ args_helgrind=(
approx\:full\ trace\ for\ one\ thread,\ approx\ for\ the\ other\ \(faster\)
none\:only\ show\ trace\ for\ one\ thread\ in\ a\ race\ \(fastest\)
))'
+ '--delta-stacktrace=-[derive a stacktrace from the previous stacktrace]:enable:(yes no)'
'--conflict-cache-size=-[specify size of full history cache]:size [2000000]'
'--check-stack-refs=-[race-check reads and writes on the main stack and thread stacks]:enable [yes]:(no yes)'
'--ignore-thread-creation=-[ignore activities during thread creation]:enable [no]:(yes no)'
)
args_lackey=(
- '--fnname=-[count calls to specified name]:name'
- '--detailed-counts=-[count loads, stores and alu ops]:enable:(yes no)'
+ '--basic-counts=-[count instructions, jumps, etc.]:enable [yes]:(yes no)'
+ '--detailed-counts=-[count loads, stores and alu ops]:enable [no]:(yes no)'
+ '--trace-mem=-[trace all loads and stores]:enable [no]:(yes no)'
+ '--trace-superblocks=-[trace all superblock entries]:enable [no]:(yes no)'
+ '--fnname=-[count calls to specified name]:name [main]'
)
args_massif=(
- $common
- '--heap=-[profile heap blocks]:enable:(yes no)'
- '--heap-admin=-[specify average admin bytes per heap block]:bytes'
- '--stacks=-[enable profile stacks]:enable:(yes no)'
- '--depth=-[depth of contexts]:depth'
- '--alloc-fn=-[specify alloc function]:function'
- '--format=-[specify format of textual output]:format:(text html)'
+ $common_own_malloc
+ '--heap=-[profile heap blocks]:enable [yes]:(yes no)'
+ '--heap-admin=-[specify average admin bytes per heap block]:size (bytes) [8]'
+ '--stacks=-[profile stacks]:enable [no]:(yes no)'
+ '--pages-as-heap=-[profile memory at the page level]:enable [no]:(yes no)'
+ '--depth=-[depth of contexts]:depth [30]'
+ '*--alloc-fn=-[specify alloc function]:function'
+ '*--ignore-fn=-[ignore heap allocations within specified function]:function'
+ '--threshold=-[specify significance threshold]:threshold (percentage) [1.0]'
+ '--peak-inaccuracy=-[specify maximum peak inaccuracy]:inaccuracy (percentage) [1.0]'
+ "--time-unit=-[specify time unit]:unit [i]:((
+ i\:instructions\ executed
+ ms\:milliseconds
+ b\:heap\ bytes\ alloc\'d/dealloc\'d
+ ))"
+ '--detailed-freq=-[every Nth snapshot should be detailed]:snapshot interval [10]'
+ '--max-snapshots=-[specofy maximum number of snapshots recorded]:maximum [100]'
+ '--massif-out-file=-[specify output file name]:filename [massif.out.%p]:_files'
+)
+
+args_exp_bbv=(
+ '--bb-out-file=-[specify filename for BBV info]:filename:_files'
+ '--pc-out-file=-[specify filename for BB addresses and function names]:filename:_files'
+ '--interval-size=-[specify interval size]:size (instructions) [100000000]'
+ '--instr-count-only=-[only print total instruction count]:enable:(yes no)'
+)
+
+args_exp_dhat=(
+ '--show-top-n=-[show specified number of the top alloc points]:number [10]'
+ '--sort-by=-[sort the allocation points by specified metric]:metric [max-bytes-live]:((
+ max-bytes-live\:maximum\ live\ bytes
+ tot-bytes-allocd\:bytes\ allocated\ in\ total\ \(turnover\)
+ max-blocks-live\:maximum\ live\ blocks
+ tot-blocks-allocd\:blocks\ allocated\ in\ total\ \(turnover\)
+ ))'
+)
+
+args_exp_sgcheck=(
+ $common_partial
+ '--enable-sg-checks=-[enable stack & global array checking]:enable [yes]:(yes no)'
)
args_none=(
$common_mem_null
)
-args="args_${${words[(r)--tool=*]#*=}:-memcheck}"
+args="args_${${${words[(r)--tool=*]#*=}/-/_}:-memcheck}"
_arguments -C ${(P)args} $cmd \
'(--version)--tool=-[specify valgrind tool]:valgrind tool:->tools' \
@@ -120,27 +203,43 @@ _arguments -C ${(P)args} $cmd \
'(-q --quiet)'{-q,--quiet}'[run silently; only print error msgs]' \
'(-v --verbose)'{-v,--verbose}'[be more verbose]' \
'--trace-children=-[valgrind-ise child processes]:enable:(yes no)' \
+ '--trace-children-skip=-[specify a list of executables not to trace into]:executables' \
+ '--trace-children-skip-by-arg=-[specify a list of executables matched by argv not to trace into]:executables' \
+ '--child-silent-after-fork=-[omit child output between fork & exec]:enable:(yes no)' \
+ '--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \
+ '--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \
+ '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \
'--track-fds=-[track open file descriptors]:enable:(yes no)' \
'--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \
'--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \
'--log-file=-[log messages to specified file with pid appended]:file:_files' \
- '--log-file-exactly=-[log messages to specified file]:file:_files' \
- '--log-file-qualifier=-[log messages to filename given by specified environment variable]:variable:_parameters -g "*scalar*"' \
'--log-socket=-[log messages to socket]:ipaddr\:port' \
- '--run-libc-freeres=-[free up glibc memory at exit]:enable:(yes no)' \
- '--sim-hints=-[enable hint]:hint:(lax-ioctls enable-outer)' \
- '--show-emwarns=-[show warnings about emulation limits]:enable:(yes no)' \
- '--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_values -s , kernel\ variant bproc' \
- '--demangle=-[automatically demangle C++ names]:enable:(yes no)' \
- '--num-callers=-[specify no of callers to show in stack traces]:number' \
- '--error-limit=-[stop showing new errors if too many]:enable:(yes no)' \
- '--show-below-main=-[continue stack traces below main()]:enable:(yes no)' \
- '--suppressions=-[suppress errors described in specified file]:file:_files' \
- '--gen-suppressions=-[print suppressions for errors detected]:enable:(yes no)' \
- '--db-attach=-[start debugger when errors detected]:enable:(yes no)' \
- '--db-command=-[specify command to start debugger]: : _command_names -e' \
- '--input-fd=-[specify file descriptor for input]:file descriptor:_file_descriptors' \
- '--max-stackframe=-[assume stack switch for SP changes larger than specified number of bytes]:bytes' \
+ '*--fullpath-after=-[show full source paths in call stacks]::prefix to remove from paths:_directories' \
+ '--extra-debuginfo-path=-[specify absolute path to search for additional debug symbols]:path:_directories' \
+ '--debuginfo-server=-[specify server to query for debug symbols]:server:_hosts' \
+ "--allow-mismatched-debuginfo=-[accept debuginfo objects that don't match the main object]:enable [no]:(yes no)" \
+ '--smc-check=-[check for self-modifying code]:checks [all-non-file]:(none stack all all-non-file)' \
+ '--read-inline-info=-[read debug info about inlined functions to improve stack traces]:enable:(yes no)' \
+ '--vgdb-poll=-[specify gdbserver poll max]:basic blocks [5000]' \
+ '--vgdb-shadow-registers=-[let gdb see the shadow registers]:enable [yes]:(yes no)' \
+ '--vgdb-prefix=-[specify prefix for bgdb FIFOs]:prefix:_files' \
+ '--run-libc-freeres=-[free up glibc memory at exit]:enable [yes]:(yes no)' \
+ '--run-cxx-freeres=-[free up libstdc++ memory at exit]:enable [yes]:(yes no)' \
+ '--sim-hints=-[activate unusual sim behaviours]:hint [none]:_sequence compadd - lax-ioctls lax-doors fuse-compatible enable-outer no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none' \
+ '--fair-sched=-[schedule threads fairly on multicore systems]:enable [no]:(yes no try)' \
+ '--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_sequence compadd - bproc android-no-hw-tls android-gpu-sgx5xx android-gpu-adreno3xx' \
+ '--merge-recursive-frames=-[merge frames between identical program counters in specified max frames]:frames [0]' \
+ '--num-transtab-sectors=-[specify size of translated code cache]:size (sectors) [32]' \
+ '--avg-transtab-entry-size=-[specify average size of a translated basic block]:size (bytes)' \
+ '--aspace-minaddr=-[avoid mapping memory below address]:address (0xPP) [guessed]' \
+ "--valgrind-stacksize=-[specify size of valgrind (host) thread's stack]:size (bytes) [1048576]" \
+ '--show-emwarns=-[show warnings about emulation limits]:enable [no]:(yes no)' \
+ '*--require-text-symbol=-[abort run if the specified shared object lacks specified symbol]:\:soname pattern\:symbol pattern' \
+ '*--soname-synonyms=-[specify patterns to map sonames to replacements]:soname=replacement' \
+ '--sigill-diagnostics=-[warn about illegal instructions]:enable [yes]:(yes no)' \
+ '--unw-stack-scan-thresh=-[enable stack-scan unwind if fewer than specified number of good frames found]:frames' \
+ '--resync-filter=-[attempt to avoid expensive address-space-resync operations]:enable:(yes no verbose)' \
+ '--max-threads=-[specify maximum number of threads that valgrind can handle]:threads [500]' \
&& return
typeset -a tools
@@ -151,12 +250,10 @@ if [[ -n "$state" ]]; then
# Basically uses debug output to find out the directory where the tools are
# present and lists all executables in that directory.
# Hope the program provides a neater interface some day!
- () {
- setopt localoptions histsubstpattern
- tools=( ${${${(M)${(f)"$(_call_program tools valgrind --tool=something -d 2>&1)"}:#*launcher launching *something*}##*launcher launching }%%something*}*~*.*(*:t:s/-*//) )
- typeset -U tools
- }
- _wanted tools exl 'valgrind tool' compadd $tools && return
+ tools=( ${${${${(M)${(f)"$(_call_program tools $words[1] --tool=something -d 2>&1)"}:#*launcher launching *something*}##*launcher launching }%%something*}:-${commands[valgrind]:h:h}/lib/valgrind/}*~*.*(*:t) )
+ tools=( ${tools%-*-*} )
+ typeset -U tools
+ _wanted tools exl 'valgrind tool' compadd -a tools && return
fi
return 1
diff --git a/Completion/Unix/Command/_ansible b/Completion/Unix/Command/_ansible
index 330ef66b7..89a4998b7 100644
--- a/Completion/Unix/Command/_ansible
+++ b/Completion/Unix/Command/_ansible
@@ -1,6 +1,6 @@
#compdef ansible ansible-config ansible-console ansible-doc ansible-galaxy ansible-inventory ansible-playbook ansible-pull ansible-vault
-local curcontext="$curcontext" plug plugvar ret=1
+local curcontext="$curcontext" plug plugvar ign ret=1
local -a args state line
local -A opt_args
@@ -30,7 +30,7 @@ case $service in
'(-D --diff)'{-D,--diff}'[show differences when changing small files and templates]'
'(-b --become)'{-b,--become}'[escalate privileges on remote system]'
'(-f --forks)'{-f+,--forks=}'[specify number of parallel processes to use]:processes [5]'
- '--become-method=[specify privilege escalation method to use]:method [sudo]:(sesu sudo su pbrun pfexec doas dzdo ksu runas pmrun enable)'
+ '--become-method=[specify privilege escalation method to use]:method [sudo]:(sudo su pbrun pfexec doas dzdo ksu runas pmrun enable machinectl)'
'--become-user=[specify remote user for running operations]:user:_users'
"--syntax-check[perform a syntax check on the playbook, but don't execute it]"
'!(-R --su-user -U --sudo-user)'{-R,-U,--su-user,--sudo-user}':user [root]:_users'
@@ -102,6 +102,7 @@ case $service in
;;
ansible-doc)
args+=(
+ '!(-l --list -F --list_files -s --snippet)'{-j,--json} # "internal testing only"
'(-l --list -F --list_files -s --snippet)'{-l,--list}'[list available plugins]'
'(-l --list -F --list_files -s --snippet)'{-F,--list_files}'[show plugin names and their source files without summaries]'
'(-l --list -F --list_files -s --snippet)'{-s,--snippet}'[show playbook snippet for specified plugins]'
@@ -143,6 +144,7 @@ case $service in
ansible-pull)
args+=(
"--check[don't make any changes]"
+ '--diff[show the differences in changed files]'
'(-d --directory)'{-d+,--directory=}'[specify directory to checkout repository to]:directory:_directories'
'--full[do a full instead of a shallow clone]'
'(-m --module-name)'{-m+,--module-name=}'[specify repository module used for checking out repository]:module:(git subversion hg bzr)'
@@ -167,9 +169,10 @@ case $service in
;;
esac
+(( $#words > 2 )) && ign='!'
_arguments -s -S -C $args \
- '(- :)--version[display version information]' \
- '(- :)'{-h,--help}'[display usage information]' \
+ "${ign}(- :)--version[display version information]" \
+ "${ign}(- :)"{-h,--help}'[display usage information]' \
\*{-v,--verbose}"[verbose mode (repeat to increase)]" && ret=0
plug=${(v)opt_args[(i)-(t|-type)]:-module}
@@ -220,11 +223,18 @@ case $state in
fi
;;
galaxy)
+ ign=''
curcontext="${curcontext%:*}-${line[1]}:"
- args=()
+ (( $#words > 2 )) && ign='!'
+ args=(
+ "${ign}(-)"{-h,--help}'[display usage information]'
+ '(-c --ignore-certs)'{-c,--ignore-certs}'[ignore SSL certificate validation errors]'
+ '(-s --server)'{-s+,--server=}'[specify API server destination]:server:_hosts'
+ {-v,--verbose}'[verbose mode]'
+ )
case $line[1] in
info|search|list|remove|install)
- args=( '(-p --roles-path)'{-p,--roles-path}'[specify location of roles]:path:_directories' )
+ args+=( '(-p --roles-path)'{-p,--roles-path}'[specify location of roles]:path:_directories' )
;|
info|init)
args+=( "--offline[don't query the galaxy API]" )
@@ -241,22 +251,23 @@ case $state in
)
;;
setup)
- args=(
+ args+=(
'--list[list integrations]'
'--remove=[remove integration]:integration id'
)
;;
init)
args+=(
- '--container-enabled[initialize the skeleton role with default contents for a Container Enabled role]'
'--init-path=[specify path in which the skeleton role will be created]:path:_directories'
'--role-skeleton=[specify path to a role skeleton that the new role should be based upon]'
+ '--type=[initialize using an alternate role type]:role type:(container apb network)'
)
;;
install)
args+=(
'(-n --no-deps)'{-n,--no-deps}"[don’t download roles listed as dependencies]"
'(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors and continue with the next specified role]'
+ '(-g --keep-scm-meta)'{-g,--keep-scm-meta}'[use tar instead of the scm archive option when packaging the role]'
'(-r --role-file)'{-r+,--role-file=}'[specify file containing a list of roles to be imported]:file:_files'
)
;;
diff --git a/Completion/Unix/Command/_column b/Completion/Unix/Command/_column
index cb67fef37..a81684dba 100644
--- a/Completion/Unix/Command/_column
+++ b/Completion/Unix/Command/_column
@@ -9,6 +9,7 @@ case $OSTYPE in
linux-gnu)
args=(
'(info json -c --output-width)'{-c+,--output-width=}'[format output to fit display of specified width]:width'
+ '(info)'{-L,--table-empty-lines}"[don't ignore empty lines]"
+ fill
'(info table text json -x --fillrows)'{-x,--fillrows}'[fill rows before filling columns]'
+ table
diff --git a/Completion/Unix/Command/_dhclient b/Completion/Unix/Command/_dhclient
index beaab5e2d..ee309e1fd 100644
--- a/Completion/Unix/Command/_dhclient
+++ b/Completion/Unix/Command/_dhclient
@@ -22,6 +22,7 @@ case $OSTYPE in
'-i+[ignore values provided by leases for specified options]:options'
'-L+[specify file to write option data too]:file:_files'
"-n[don't configure any interfaces]"
+ '-r[release the current lease back to the server it came from]'
'-v[verbose log messages]'
)
;;
diff --git a/Completion/Unix/Command/_dmidecode b/Completion/Unix/Command/_dmidecode
index eb273586f..047b74f6d 100644
--- a/Completion/Unix/Command/_dmidecode
+++ b/Completion/Unix/Command/_dmidecode
@@ -4,10 +4,11 @@ _arguments -s \
'(-d --dev-mem --from-dump)'{-d+,--dev-mem=}'[read memory from specified file]:memory device [/dev/mem]:_files' \
'(-)'{-h,--help}'[display usage information]' \
'(-q --quiet -u --dump)'{-q,--quiet}'[be less verbose]' \
- '(--type -u --dump --dump-bin -s --string)'{-s+,--string=}':DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \
- '(-s --string --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \
+ '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \
+ '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \
+ '(-s --string -t --type -H --handle --dump-bin)'{-H,--handle=}'[only display the entry of specified handle]:handle' \
'(-q --quiet -u --dump -s --string)'{-u,--dump}"[don't decode entries]" \
- '--dump-bin=[dump DMI data to a binary file]:file:_files' \
+ '(-s --string -t --type -H --handle)--dump-bin=[dump DMI data to a binary file]:file:_files' \
'(-d --dev-mem)--from-dump=[read DMI data from a binary file]:file:_files' \
"--no-sysfs[don't attempt to read DMI data from sysfs files]" \
'--oem-string=[only display the value of the specified OEM string]:OEM string number' \
diff --git a/Completion/Unix/Command/_jq b/Completion/Unix/Command/_jq
index 4ff05dab4..b8e41dd66 100644
--- a/Completion/Unix/Command/_jq
+++ b/Completion/Unix/Command/_jq
@@ -27,8 +27,11 @@ _arguments -S -s : \
'(-f --from-file)'{-f,--from-file}'[read filter from file]:_files' \
'-L+[prepend a directory to the module search path]:_directories' \
'(-e --exit-status)'{-e,--exit-status}'[report "false" and "null" results via exit code]' \
- '*--arg[pre-set a variable to a string]: :_guard "|[A-Za-z][A-Za-z0-9]#" "variable name":value (string): ' \
- '*--argjson[pre-set a variable to an object]: :_guard "|[A-Za-z][A-Za-z0-9]#" "variable name":value (JSON): ' \
- '*--slurpfile[pre-set a variable to contents of a file]: :_guard "|[A-Za-z][A-Za-z0-9]#" "variable name":value (filename of file containing JSON):_files' \
+ '*--arg[pre-set a variable to a string]:variable name: :value (string)' \
+ '*--argjson[pre-set a variable to an object]:variable name: :value (JSON)' \
+ '*--slurpfile[pre-set a variable to an array of JSON texts read from a file]:variable name: :file:_files' \
+ '*--rawfile[pre-set a variable to the contents of a file]:variable name: :file:_files' \
+ '--args[remaining arguments are string arguments, not files]' \
+ '--jsonargs[remaining arguments are JSON arguments, not files]' \
"1: :_guard '|[^-]' filter" \
"*: :_files"
diff --git a/Completion/Unix/Command/_links b/Completion/Unix/Command/_links
index 34bb64560..8bb9fee1c 100644
--- a/Completion/Unix/Command/_links
+++ b/Completion/Unix/Command/_links
@@ -1,30 +1,121 @@
-#compdef links
+#compdef links links2
-local curcontext="$curcontext" state line ret=1
+local curcontext="$curcontext" state line ign ret=1
typeset -A opt_args
+(( $#words > 2 )) && ign='!'
_arguments -C \
- '(-help)-anonymous[restrict links so that it can run on an anonymous account]' \
- '(-help)-assume-codepage[specify default codepage to use]:codepage' \
- '(-help)-async-dns[asynchronous DNS resolver]:bool:((0\:on 1\:off))' \
- '(-help)-download-dir[default download directory]:_files -/' \
- '(-help)-driver[graphics driver to use]:graphics driver:->graphics_drivers' \
- '(-help)-dump[dump the page as pure text]' \
- '(-help)-format-cache-size[number of formatted document pages cached]:pages' \
- '(-help)-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \
- '(-help)-g[run in graphics mode rather than plain text mode]' \
- '-help[prints the help screen]' \
- '(-help)-http-proxy[specify web proxy server]:proxy:->proxies' \
- '(-help)-image-cache-size[image cache memory]:memory (kilobytes)' \
- '(-help)-max-connections[maximum number of concurrent connections]:connections' \
- '(-help)-max-connections-to-host[maximum number of concurrent connection to a given host]:connections' \
- '(-help)-memory-cache-size[cache memory]:kilobytes' \
- '(-help)-no-connect[runs links as a separate instance]' \
- '(-help)-receive-timeout[timeout on receive]:timeout (seconds)' \
- '(-help)-retries[number of retries]:retries' \
- '(-help)-source[dump the source page]' \
- '(-help)-unrestartable-receive-timeout[timeout on non restartable connections]:timeout (seconds)' \
- '(-help)-version[prints the links version number and exit]' \
+ "${ign}-help[prints the help screen]" \
+ "${ign}(- :)-version[prints the links version number and exit]" \
+ "${ign}(- 1)-lookup[do hostname lookup]:hostname:_hosts" \
+ '-g[run in graphics mode rather than plain text mode]' '!-no-g' \
+ '-driver[graphics driver to use]:graphics driver:->graphics_drivers' \
+ '-mode[specify graphics mode]:graphics mode' \
+ '-display[specify X display]:display:_x_display' \
+ '-force-html[treat files with unknown type as html rather than text]' \
+ '-source[dump the source page]' \
+ '-dump[dump the page as pure text]' \
+ '-width[specify screen width for formatting with -dump]:width' \
+ '-codepage[convert output to specified character set with -dump]:codepage' \
+ '-anonymous[restrict links so that it can run on an anonymous account]' \
+ '-no-connect[runs links as a separate instance]' \
+ '-download-dir[default download directory]:_files -/' \
+ '-language[set user interface language]:language' \
+ '-max-connections[specify maximum number of concurrent connections]:connections [10]' \
+ '-max-connections-to-host[maximum number of concurrent connection to a given host]:connections [2]' \
+ '-retries[number of retries]:retries [3]' \
+ '-receive-timeout[timeout on receive]:timeout (seconds) [120]' \
+ '-unrestartable-receive-timeout[timeout on non-restartable connections]:timeout (seconds) [600]' \
+ '-timeout-when-trying-multiple-addresses[specify timeout for connection when trying multiple addresses]:timeout (seconds)' \
+ '-bind-address[use a specific local IP address]:IP address' \
+ '-bind-address-ipv6[use a specific local IPv6 address]:IPv6 address' \
+ "-no-libevent[don't use libevent library]" \
+ "-no-openmp[don't use OpenMP]" \
+ '-async-dns[asynchronous DNS resolver]:enable:((1\:on 0\:off))' \
+ '-download-utime[set time of downloaded files to last modification time reported by server]:enable:((1\:on 0\:off))' \
+ '-format-cache-size[number of formatted document pages cached]:pages [5]' \
+ '-memory-cache-size[cache memory]:size (bytes) [1048576]' \
+ '-image-cache-size[image cache memory]:size (bytes) [1048576]' \
+ '-font-cache-size[specify font cache size]:size (bytes) [2097152]' \
+ "-aggressive-cache[cache everything regardless of server's caching recomendations]:enable [1]:((1\\:on 0\\:off))" \
+ '-address-preference[specify IP version preference]:preference:((
+ 0\:system\ default
+ 1\:prefer\ IPv4
+ 2\:prefer\ IPv6
+ 3\:use\ only\ IPv4
+ 4\:use\ only\ IPv6
+ ))' \
+ '-http-proxy[specify web proxy server]:proxy:->proxies' \
+ '-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \
+ '-https-proxy[specify https web proxy server]:proxy:->proxies' \
+ '-socks-proxy[specify socks4a proxy server]:proxy:->sproxies' \
+ '-append-text-to-dns-lookups[append text to dns lookups; useful for specifying fixed tor exit node]:text' \
+ '-no-proxy-domains[use no proxy for specified domains]:domain list' \
+ '-only-proxies[only initiate connections via proxy]:enable:((0\:off 1\:on))' \
+ '-ssl.certificates[specify handling of invalid signatures]:handling:((0\:ignore 1\:warn 2\:reject))' \
+ '-ssl.builtin-certificates[specify certificates to use]:certificates:((0\:system 1\:builtin))' \
+ '-ssl.client-cert-key[specify user private key for client certificate authentication]:PEM file:_files' \
+ '-ssl.client-cert-crt[specify user certificate for client certificate authentication]:PEM file:_files' \
+ '-ssl.client-cert-password[specify password for the user private key]:password' \
+ '-http-bugs.http10[specify HTTP version]:protocol [0]:((1\:force\ only\ HTTP\ 1.0 0\:use\ both\ HTTP\ 1.0\ and\ 1.1))' \
+ '-http-bugs.allow-blacklist[use list of servers with broken HTTP/1.1 support]:allow [1]:(1 0)' \
+ '-http-bugs.bug-no-accept-charset[specify sending of Accept-Charset field of HTTP header]:send [0]:(1 0)' \
+ '-http-bugs.no-compression[advertise HTTP compression support]:advertise compression [0]:((0\:yes 1\:no))' \
+ '-http-bugs.retry-internal-errors[retry on internal server errors (50x)]:retry [0]:((1\:yes 0\:no))' \
+ '-http.fake-firefox[fake Firefox in the HTTP header]:enable [0]:((0\:no 1\:yes))' \
+ '-http.do-not-track[send do not track request in the HTTP header]:enable [0]:(1 0)' \
+ "-http.referer[control sending of referer URL in requests]:referer [4]:((
+ 0\:don\'t\ send 1\:'send requested URL' 2\:'fake referer' 3\:'send real'
+ 4\:'send real only to the same server'
+ ))" \
+ '-http.fake-user-agent[specify fake user agent value]:string' \
+ '-http.extra-header[specify extra string added to HTTP header]:string' \
+ '-ftp.anonymous-password[specify password for anonymous ftp access]:password' \
+ '-ftp.use-passive[use ftp PASV command to bypass firewalls]:enable;(0 1)' \
+ '-ftp.use-eprt-epsv[use EPRT and EPSV commands instead of PORT and PASV]:enable:(0 1)' \
+ '-ftp.set-iptos[set IP type-of-service to high throughput on ftp connections]:enable:(0 1)' \
+ '-smb.allow-hyperlinks-to-smb[allow hyperlinks to SMB protocol]:enable:(0 1)' \
+ '-menu-font-size[specify size of font in menu]:size' \
+ '-menu-background-color[specify menu background color in graphics mode]:color (0xRRGGBB)' \
+ '-menu-foreground-color[specify menu foreground color in graphics mode]:color (0xRRGGBB)' \
+ '-scroll-bar-area-color[set colour of scroll bar area]:colour (0xRRGGBB)' \
+ '-scroll-bar-bar-color[set colour of scroll bar]:colour (0xRRGGBB)' \
+ '-scroll-bar-frame-color[set colour of scroll bar frame]:colour (0xRRGGBB)' \
+ '-bookmarks-file[specify file to store bookmarks]:file:_files' \
+ '-bookmarks-codepage[specify character set of bookmarks file]:character set' \
+ '-save-url-history[save URL history on exit]:enable:(0 1)' \
+ '-display-red-gamma[specify red gamma of display]:gamma [2.2]' \
+ '-display-green-gamma[specify green gamma of display]:gamma [2.2]' \
+ '-display-blue-gamma[specify blue gamma of display]:gamma [2.2]' \
+ '-user-gamma[specify additional gamma]:gamma [1]' \
+ '-bfu-aspect[display aspect ration]' \
+ '-dither-letters[do letter dithering]:enable:(0 1)' \
+ '-display-optimize[optimize for display type]:display:((0\:CRT 1\:LCD\ RGB 2\:LCD\ BGR))' \
+ '-gamma-correction[specify type of gamma correction]:gamma correction:((0\:8-bit 1\:16-bit 2\:auto\ detect))' \
+ '-overwrite-instead-of-scroll[overwrite the screen instead of scrolling it]:enable:(0 1)' \
+ '-html-assume-codepage[specify codepage to use if unspecified by server]:codepage' \
+ '-html-hard-assume[always use character set from -html-assume-codepage]:enable:(0 1)' \
+ '-html-tables[render tables]:enable:(0 1)' \
+ '-html-frames[render frames]:enable:(0 1)' \
+ '-html-images[display links to unnamed images as \[IMG\]]:enable:(0 1)' \
+ '-html-image-names[display filename of an image]:enable:(0 1)' \
+ '-html-display-images[display images in graphics mode]:enable:(0 1)' \
+ '-html-image-scale[sScale images in graphics mode]:scaling (percent)' \
+ '-html-bare-image-autoscale[autoscale images displayed on full screen]:enable:(0 1)' \
+ '-html-numbered-links[number links in text mode allowing quick selection]:enable:(0 1)' \
+ '-html-table-order[set ordering to walk tables]:ordering:((0\:rows 1\:columns))' \
+ '-html-auto-refresh[process refresh or display link]:refresh:(1 0)' \
+ '-html-target-in-new-window[allow opening new windows from html]' \
+ '-html-margin[specify margin]:margin (spaces)' \
+ '-html-user-font-size[specify font size in graphics mode]:size' \
+ '-html-t-text-color[specify text color in text mode]:color (0..15)' \
+ '-html-t-link-color[specify link color in text mode]:color (0..15)' \
+ '-html-t-background-color[specify background color in text mode]:color (0..15)' \
+ '-html-t-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \
+ '-html-g-text-color[specify text color in graphics mode]:color (0xRRGGBB)' \
+ '-html-g-link-color[specify link color in graphics mode]:color (0xRRGGBB)' \
+ '-html-g-background-color[specify background color in graphics mode]:color (0xRRGGBB)' \
+ '-html-g-ignore-document-color[ignore colors from HTML in graphics mode]:ignore:(0 1)' \
':URL:->html' && ret=0
case $state in
@@ -33,9 +124,15 @@ case $state in
;;
graphics_drivers)
local -a vals
- vals=( ${=${${${(f)"$(_call_program links-graphics-drivers links -driver help 2>&1)"}[-1]}//','/''}} )
+ vals=( ${=${${${(f)"$(_call_program links-graphics-drivers $words[1] -driver help 2>&1)"}[-1]}//','/''}} )
_describe -t links-graphics-drivers 'graphics driver' vals && ret=0
;;
+ sproxies)
+ if ! compset -P '*@'; then
+ _message -e users 'user id'
+ return
+ fi
+ ;&
proxies)
local suf=-S:
if compset -P '*:'; then
diff --git a/Completion/Unix/Command/_luarocks b/Completion/Unix/Command/_luarocks
index 363cedc8d..30bda1a9a 100644
--- a/Completion/Unix/Command/_luarocks
+++ b/Completion/Unix/Command/_luarocks
@@ -9,6 +9,7 @@ __luarocks_command(){
doc:'show documentation for an installed rock'
download:'download a specific rock file from a rocks server'
help:'help on commands'
+ init:'initialize a directory for a Lua project using LuaRocks'
install:'install a rock'
lint:'check syntax of a rockspec'
list:'list currently installed rocks'
@@ -20,13 +21,27 @@ __luarocks_command(){
remove:'uninstall a rock'
search:'query the LuaRocks servers'
show:'show information about an installed rock'
+ test:'run the test suite in the current directory'
unpack:'unpack the contents of a rock'
upload:'upload a rockspec to the public rocks repository'
+ which:'indicate which file corresponds to a given module name'
write_rockspec:'write a template for a rockspec file'
)
_describe -t commands 'command' commands "$@"
}
+
local option_deps_modes='--deps-mode=[specify how to handle dependencies]:mode:__luarocks_deps_modes'
+
+local rockspec_options=(
+ '--license=[specify a license string]:license (e.g. "MIT/X11" or "GNU GPL v3")'
+ '--summary=[a short one-line description summary]:summary:{_message -e "short summary of the rock"}'
+ '--detailed=[a longer description string]:detailed_text:{_message -e "detailed description of the rock"}'
+ '--homepage=[project homepage]:URL:_urls'
+ '--lua-versions=[specify supported Lua versions]:lua version:_sequence compadd - 5.{1,2,3,4}'
+ '--rockspec-format=[rockspec format version, such as "1.0" or "1.1"]:VER: '
+ '--lib=[comma separated list of C library files to link to]:library files'
+)
+
(( $+functions[__luarocks_deps_modes] )) ||
__luarocks_deps_modes(){
local modes=(
@@ -78,10 +93,7 @@ __luarocks_rock_version(){
i=$(( i + 1 ))
done
}
-(( $+functions[__luarocks_lua_versions] )) ||
-__luarocks_lua_versions(){
- _values -s , 5.3 5.2 5.1
-}
+
(( $+functions[___luarocks_manually_store_cache_configs_paths] )) ||
___luarocks_manually_store_cache_configs_paths(){
user_config_path="$(_call_program user_config_path luarocks config --user-config)"
@@ -397,6 +409,15 @@ _luarocks_download(){
_luarocks_help(){
_arguments '1: :__luarocks_command'
}
+
+(( $+functions[_luarocks_init] )) ||
+_luarocks_init(){
+ _arguments $rockspec_options \
+ '--reset[regenerate files if they already exist]' \
+ '1: :_guard "^-*" "name"'\
+ '2: :_guard "^-*" "version"'
+}
+
# arguments:
# - must: .rockspec file / external rock
# - optional: version
@@ -453,11 +474,11 @@ _luarocks_pack(){
# arguments:
# NOTE: receives only options
local path_command_options=(
- '--bin[adds the system path to the output]'
- '--append[appends the paths to the existing paths]'
- '--lr-path[exports the Lua path (not formatted as shell command)]'
- '--lr-cpath[exports the Lua cpath (not formatted as shell command)]'
- '--lr-bin[exports the system path (not formatted as shell command)]'
+ "--no-bin[don't export the PATH variable]"
+ '--append[append the paths to the existing paths]'
+ '--lr-path[export the Lua path (not formatted as shell command)]'
+ '--lr-cpath[export the Lua cpath (not formatted as shell command)]'
+ '--lr-bin[export the system path (not formatted as shell command)]'
)
(( $+functions[_luarocks_path] )) ||
_luarocks_path(){
@@ -495,13 +516,14 @@ _luarocks_remove(){
local search_command_options=(
'--source[return only rockspecs and source rocks]'
'--binary[return only pure Lua and binary rocks (rocks that can be used with the "install" command without requiring a C toolchain)]'
- '--all[list all contents of the server that are suitable to this platform, do not filter by name]'
+ "--all[list all contents of the server that are suitable for this platform, don't filter by name]"
+ '--porcelain[produce machine readable output]'
)
(( $+functions[_luarocks_search] )) ||
_luarocks_search(){
_arguments \
"${search_command_options[@]}" \
- '*:SEARCH QUERY:'
+ '*: :_guard "^--*" "search query"'
}
# arguments:
# - must: installed rock
@@ -509,6 +531,8 @@ local show_command_options=(
'--home[home page of project]'
'--modules[all modules provided by this package as used by require()]'
'--deps[packages this package depends on]'
+ '--build-deps[show build-only dependencies for package]'
+ '--test-deps[show dependencies for testing package]'
'--rockspec[the full path of the rockspec file]'
'--mversion[the package version]'
'--rock-tree[local tree where rock is installed]'
@@ -520,6 +544,16 @@ _luarocks_show(){
"${show_command_options[@]}" \
"1: :{__luarocks_rock 'installed' "${opt_args[--tree]}"}"
}
+
+(( $+functions[_luarocks_test] )) ||
+_luarocks_test(){
+ _arguments $option_deps_modes \
+ '--test-type=[specify the test suite type manually]:test suite type' \
+ '--reset[regenerate files if they already exist]' \
+ '1:rockspec:__luarocks_rock' \
+ '*:arg'
+}
+
# arguments:
# - must: rockpack file / external rock
# - optional: version (only when chossing external rock)
@@ -535,8 +569,9 @@ _luarocks_unpack(){
# arguments:
# - must: rockspec file
local upload_command_options=(
- '--skip-pack[do not pack and send source rock]'
- '--api-key=[give it an API key]:KEY:{_message "api key"}'
+ "--skip-pack[don't pack and send source rock]"
+ '(--temp-key)--api-key=[use and save specified API key]:api key'
+ '(--api-key)--temp-key=[use specified temporary API key in this invocation only]:api key'
'--force[replace existing rockspec if the same revision of a module already exists]'
)
(( $+functions[_luarocks_upload] )) ||
@@ -545,26 +580,18 @@ _luarocks_upload(){
"${upload_command_options[@]}" \
'1: :{__luarocks_rock "rockspec"}'
}
-# arguments:
-# - optional: name
-# - optional: version
-# - optional: URL / PATH
-# receives as an argument a name and a version with optionally a URL/PATH
-local write_rockspec_command_options=(
- '--output=[write the rockspec with the given filename]:FILE:_files'
- '--license=[specify a license string]:license (e.g. "MIT/X11" or "GNU GPL v3")'
- '--summary=[a short one-line description summary]:summary:{_message -e "short summary of the rock"}'
- '--detailed=[a longer description string]:detailed_text:{_message -e "detailed description of the rock"}'
- '--homepage=[project homepage]:URL:_urls'
- '--lua-version=[supported Lua versions]:LUA_VER:__luarocks_lua_versions'
- '--rockspec-format=[rockspec format version, such as "1.0" or "1.1"]:VER: '
- '--tag=[tag to use. Will attempt to extract version number from it]:tag:__git_tag'
- '--lib=[comma separated list of C library files to link to]:library files'
-)
+
+(( $+functions[_luarocks_which] )) ||
+_luarocks_which(){
+ _message -e modules 'module name'
+}
+
(( $+functions[_luarocks_write_rockspec] )) ||
_luarocks_write_rockspec(){
_arguments -A "-*" \
- "${write_rockspec_command_options[@]}" \
+ "${rockspec_options[@]}" \
+ '--output=[write the rockspec with the given file]:file:_files' \
+ '--tag=[specify tag to use. Will attempt to extract version number from it]:tag:__git_tag' \
'1:: :{_message "new rock name"}' \
'2:: :{__luarocks_rock_version "new_rock"}' \
'3:: :_urls'
@@ -572,13 +599,15 @@ _luarocks_write_rockspec(){
# The real thing
_arguments -C \
- '(--server --only-server)--server=[fetch rocks/rockspecs from this server]:HOST:_hosts' \
- '(--server --only-server)--only-server=[fetch rocks/rockspecs from this server only]:HOST:_hosts' \
+ '--dev[enable the sub-repositories in rocks servers]' \
+ '(--server --only-server)--server=[fetch rocks/rockspecs from specified server]:host:_hosts' \
+ '(--server --only-server)--only-server=[fetch rocks/rockspecs from specified server only]:host:_hosts' \
'--only-sources=[restrict downloads to paths matching the given URL]:URL:_urls' \
- '--tree=[which tree to operate on]:TREE:{_files -/}' \
+ '--lua-dir=[specify location of lua installation]:path:_directories' \
+ '--tree=[specify which tree to operate on]:tree:_directories' \
'--local[use the tree in the user'"'"'s home directory]' \
'--verbose[display verbose output of commands executed]' \
- '--timeout=[timeout on network operations]:SECONDS:{_message "timeout (seconds)"}' \
+ '--timeout=[specify timeout for network operations]:timeout (seconds)' \
'1: :__luarocks_command' \
'*::arg:->args'
diff --git a/Completion/Unix/Command/_mpc b/Completion/Unix/Command/_mpc
index 4f200c69e..0f292ab4c 100644
--- a/Completion/Unix/Command/_mpc
+++ b/Completion/Unix/Command/_mpc
@@ -55,6 +55,7 @@ _mpc_command() {
playlist:"print the current playlist"
prev:"play the previous song in the current playlist"
prio:"change song priorities in the queue"
+ queued:"show the next queued song"
random:"toggle random mode, or specify state"
repeat:"toggle repeat mode, or specify state"
single:"toggle single mode, or specify state"
@@ -69,6 +70,7 @@ _mpc_command() {
findadd:"find songs and add them to the current playlist"
list:"list all tags of given type"
seek:"seek to the position specified in percent"
+ seekthrough:"seek by an amount of time within the song and playlist"
shuffle:"shuffle the current playlist"
stats:"display statistics about MPD"
stop:"stop the currently playing playlists"
@@ -82,6 +84,8 @@ _mpc_command() {
waitmessage:"wait for at least one message on the specified channel"
subscribe:"subscribe to the specified channel and continuously receive messages"
sticker:"sticker management"
+ mount:"list mounts or add a new mount"
+ unmount:"remove a mount"
)
if (( CURRENT == 1 )); then
@@ -209,7 +213,11 @@ _mpc_play() {
}
_mpc_seek() {
- _message "floating point percent value"
+ _message -e position 'position ([+-][HH:MM:SS]|<0-100>%%)'
+}
+
+_mpc_seekthrough() {
+ _message -e position 'position ([+-][HH:MM:SS])'
}
_mpc_enable() {
@@ -349,6 +357,7 @@ _arguments -C \
'(-p --port)'{-p,--port=}'[connect to server port]:port' \
'(-f --format)'{-f,--format=}'[specify the format of song display]:format string:->formats' \
'(-w --wait)'{-w,--wait}'[wait for operation to finish (e.g. database update)]' \
+ '(-r --range)'{-r,--range=}'[operate on a range (e.g. when loading a playlist)]:<start>\:<end>' \
'*::mpc command:_mpc_command' && ret=0
if [[ $state = formats ]]; then
diff --git a/Completion/Unix/Command/_samba b/Completion/Unix/Command/_samba
index 9a2fea9d6..775543794 100644
--- a/Completion/Unix/Command/_samba
+++ b/Completion/Unix/Command/_samba
@@ -55,6 +55,7 @@ case $service in
'(-t --timeout)'{-t+,--timeout=}'[change the per-operation timeout]:timeout (seconds)'
'(2 -p --port)'{-p+,--port=}'[specify tcp port]:tcp port'
'(-g --grepable)'{-g,--grepable}'[produce grepable output]'
+ '(-q --quiet)'{-q,--quiet}'[suppress help message]'
'(-B --browse)'{-B,--browse}'[browse SMB servers using DNS]'
'(2 -d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)'
'(2 -O --socket-options)'{-O+,--socket-options=}'[specify socket options]:socket options'
diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script
index dfe57a796..d72a4ee62 100644
--- a/Completion/Unix/Command/_script
+++ b/Completion/Unix/Command/_script
@@ -24,6 +24,7 @@ case $OSTYPE in
"(-e --return $hlp)"{-e,--return}'[return exit status of the child process]'
"(-f --flush $hlp)"{-f,--flush}'[flush output after each write]'
"($hlp)--force[use output file even when it is a link]"
+ '(-o --output-limit)'{-o+,--output-limit=}'[terminate if output files exceed specified size]:size (bytes)'
"(-q --quiet $hlp)"{-q,--quiet}'[be quiet]'
"(-t --timing $hlp)"{-t-,--timing=-}'[output timing data]::timing file:_files'
'(- 1)'{-h,--help}'[display help information]'
diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index 9c827d655..d1bd8f04b 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -56,7 +56,7 @@ _ssh () {
'(-v)*-q[quiet operation]' \
'*-R+[specify remote port forwarding]:remote port forwarding:->forward' \
'-S+[specify location of control socket for connection sharing]:path to control socket:_files' \
- '-Q+[query parameters]:parameter type:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange algorithms" key\:"key types" protocol-version\:"supported SSH protocol versions"))' \
+ '-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries"))' \
'-s[invoke subsystem]' \
'(-t)-T[disable pseudo-tty allocation]' \
'(-T)-t[force pseudo-tty allocation]' \
@@ -452,6 +452,7 @@ _ssh () {
CanonicalizeHostname \
CanonicalizeMaxDots \
CanonicalizePermittedCNAMEs \
+ CASignatureAlgorithms \
CertificateFile \
ChallengeResponseAuthentication \
CheckHostIP \
diff --git a/Completion/Unix/Command/_tmux b/Completion/Unix/Command/_tmux
index ac459f8ab..4fb2c8ce2 100644
--- a/Completion/Unix/Command/_tmux
+++ b/Completion/Unix/Command/_tmux
@@ -303,7 +303,7 @@ _tmux-display-message() {
_arguments -s -S \
'-c+[specify target client]:client:__tmux-clients' \
'-p[print message to stdout]' \
- '-t+[specify target client]:client:__tmux-clients' \
+ '-t+[specify target pane]:pane:__tmux-panes' \
'-F+[specify output format]:format:__tmux-formats' \
':message'
}
@@ -808,8 +808,9 @@ _tmux-set-window-option() {
_tmux-set-hook() {
[[ -n ${tmux_describe} ]] && print "set a hook to a command" && return
_arguments -s \
- '-g[add hook to global list]' \
- '-u[unset a hook]' \
+ '(-R)-g[add hook to global list]' \
+ '(-g -u)-R[run hook immediately]' \
+ '(-R)-u[unset a hook]' \
'-t+[specify target session]:session:__tmux-sessions' \
':hook name:_tmux_hooks' \
'*:::command:= _tmux'
@@ -1197,6 +1198,7 @@ __tmux-formats() {
'pane_tty:pseudo terminal of pane'
'pane_width:width of pane'
'pid:server PID'
+ 'rectangle_toggle:1 if rectangle selection is activated'
'scroll_region_lower:bottom of scroll region in pane'
'scroll_region_upper:top of scroll region in pane'
'scroll_position:scroll position in copy mode'
Messages sorted by:
Reverse Date,
Date,
Thread,
Author