mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-03 10:21:46 +02:00
43816: various completion option updates
This commit is contained in:
parent
f6495ebae8
commit
d5fec6b512
18 changed files with 438 additions and 147 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,5 +1,16 @@
|
|||
2018-11-12 Oliver Kiddle <okiddle@yahoo.co.uk>
|
||||
|
||||
* 43816: Completion/Linux/Command/_valgrind,
|
||||
Completion/BSD/Command/_vmctl, Completion/Linux/Command/_ethtool,
|
||||
Completion/Linux/Command/_losetup, Completion/Linux/Command/_lsblk,
|
||||
Completion/Unix/Command/_ansible, Completion/Unix/Command/_column,
|
||||
Completion/Unix/Command/_dhclient, Completion/Unix/Command/_links,
|
||||
Completion/Unix/Command/_dmidecode, Completion/Unix/Command/_jq,
|
||||
Completion/Unix/Command/_luarocks, Completion/Unix/Command/_mpc,
|
||||
Completion/Unix/Command/_samba, Completion/Unix/Command/_script,
|
||||
Completion/Unix/Command/_ssh, Completion/Unix/Command/_tmux:
|
||||
various completion option updates
|
||||
|
||||
* 43817: Completion/Linux/Command/_btrfs: update options in
|
||||
completion through to btrfs 4.17.1
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
;;
|
||||
|
|
|
@ -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]' \
|
||||
|
|
|
@ -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]' \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
)
|
||||
;;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]'
|
||||
)
|
||||
;;
|
||||
|
|
|
@ -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' \
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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]'
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -304,7 +304,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'
|
||||
}
|
||||
|
@ -809,8 +809,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'
|
||||
|
|
Loading…
Reference in a new issue