diff options
Diffstat (limited to 'Completion')
49 files changed, 464 insertions, 209 deletions
diff --git a/Completion/Linux/Command/_btrfs b/Completion/Linux/Command/_btrfs index d560928ae..bb0f724e6 100644 --- a/Completion/Linux/Command/_btrfs +++ b/Completion/Linux/Command/_btrfs @@ -17,11 +17,14 @@ cmds_7=( get set list ) cmds_8=( enable disable rescan help ) cmds_9=( assign remove create destroy show limit help ) cmds_10=( start status cancel help ) -cmds_11=( chunk-recover fix-device-size super-recover zero-log ) +cmds_11=( chunk-recover fix-device-size super-recover zero-log create-control-device ) _arguments -C -A "-*" "$args[@]" \ '(- *)--help[print help information]' \ '(- *)--version[print version information]' \ + '(-v --verbose -q --quiet --help --version)'{-v,--verbose}'[verbose output of operation]' \ + '(-v --verbose -q --quiet --help --version)'{-q,--quiet}'[suppress all messages except errors]' \ + '(--help --version)--format=[specify output format]:format:(text json)' \ '(--version)1: :->groups' \ '2: :->cmds' \ '*:: :->args' && ret=0 @@ -60,6 +63,11 @@ while (( $#state )); do fi args=( '(-)--help[print help information]' ) case ${cont} in + (balance|replace):start|device:(add|delete|remove)|filesystem:resize) + args+=( + "--enqueue[wait if there's another exclusive operation running, otherwise continue]" + ) + ;| subvolume:create) args+=( '*-i[add the newly created subvolume to a qgroup]:qgroup' @@ -67,11 +75,10 @@ while (( $#state )); do ) ;; subvolume:delete) - args+=( + args+=( '!-v' '!--verbose' '(-c --commit-after -C --commit-each)'{-c,--commit-after}'[wait for transaction commit at the end of the operation]' '(-c --commit-after -C --commit-each)'{-C,--commit-each}'[wait for transaction commit after deleting each subvolume]' '(-i --subvolid)'{-i+,--subvolid=}'[specify id of subvolume to be removed]:subvolume id' - '(-v --verbose)'{-v,--verbose}'[verbose output of operations]' '1:subvolume:_files -/' ) ;; @@ -113,7 +120,7 @@ while (( $#state )); do ;| subvolume:sync) args+=( '-s[sleep between checks]:delay (seconds) [1]' );; subvolume:find-new) args+=( '1:subvol:_files -/' '2:lastgen: _message "last gen"' );; - (device|filesystem|qgroup|subvolume):(df|du|show|usage)) + (device|filesystem|qgroup|subvolume):(df|du|show|usage)|scrub:status) args+=( '--iec[use 1024 as a base]' '--si[use 1000 as a base]' @@ -130,7 +137,7 @@ while (( $#state )); do '(-t --tbytes)'{-t,--tbytes}'[show sizes in TiB, or TB with --si]' ) ;| - (filesystem|qgroup):(du|show)) + (filesystem|qgroup|scrub):(du|show|status)) args+=( '--raw[output raw numbers in bytes]' '--human-readable[output human friendly numbers, base 1024]' @@ -142,8 +149,7 @@ while (( $#state )); do ;| filesystem:resize) args+=( '1:size:_guard "(|+|-)[0-9]#[GKM]"' '2:path:->mounts' );; filesystem:defragment) - args+=( - '-v[verbose]' + args+=( '!-v' '-r[defragment files recursively]' '-c+[compress files while defragmenting]::compression algorithm:(zlib lzo zstd)' '-r[defragment files recursively]' @@ -193,10 +199,9 @@ while (( $#state )); do ;; device:ready) args+=( '1:device: _files -g "*(-%)"' );; scrub:(start|resume)) - args+=( + args+=( '!-q' "-B[don't background and print statistics at end]" '-d[print separate statistics for each device]' - '-q[omit error message and statistics]' '-r[read only mode]' '-R[raw print mode]' '-c[set ioprio class]:class:(( 0\:none 1\:realtime 2\:best-effort 3\:idle))' @@ -216,18 +221,17 @@ while (( $#state )); do ) ;; balance:start) - args+=( + args+=( '!-v' '!--verbose' '(-m -s)-d+[act on data chunks]:filter:->filters' '(-d -s)-m+[act on metadata chunks]:filter:->filters' '(-d -m)-s+[act on system chunks (only under -f)]:filters:->filters' - '(-v --verbose)'{-v,--verbose}'[verbose mode]' '-f[force a reduction of metadata integrity]' "--full-balance[don't print warning and don't delay start]" '(--background --bg)'{--background,--bg}'[run balance operation asynchronously in the background]' '1:path:_files -/' ) ;; - balance:status) args+=( '(-v --verbose)'{-v,--verbose}'[verbose mode]' '1:path:_files -/' );; + balance:status) args+=( '!-v' '!--verbose' '1:path:_files -/' );; balance:(pause|cancel|resume)) args+=( '1:path:_files -/' );; property:set) args+=( '3:value' );& property:get) args+=( '2:property:(ro label compression)' );& @@ -304,6 +308,8 @@ while (( $#state )); do '!(--dfs)--bfs' '--dfs[depth-first traversal of the trees]' '--hide-names[hide filenames/subvolume/xattrs and other name references]' + '--csum-headers[print node checksums stored in headers (metadata)]' + '--csum-items[print checksums stored in checksum items (data)]' ) ;; inspect*:dump-super) @@ -315,11 +321,10 @@ while (( $#state )); do '--bytenr[specify alternate superblock offset]:offset' ) ;; - inspect*:inode*) args+=( '-v[verbose mode]' '1:inode:_files' '2:path:_files -/' );; - inspect*:subvol*) args+=( '-v[verbose mode]' '1:subvolid:_guard "[0-9]#" subvolume id' '2:path:_files -/' );; + inspect*:inode*) args+=( '!-v' '1:inode:_files' '2:path:_files -/' );; + inspect*:subvol*) args+=( '!-v' '1:subvolid:_guard "[0-9]#" subvolume id' '2:path:_files -/' );; inspect*:logical*) - args+=( - '-v[verbose mode]' + args+=( '!-v' '-P[skip the path resolving and print the inodes instead]' '-o[ignore offsets when matching references]' '-s[specify buffer size]:buffer size [4096]' @@ -331,9 +336,8 @@ while (( $#state )); do inspect*:rootid) args+=( '1:path:_files -/' );; inspect*:tree*) args+=( '-b[print raw numbers in bytes]' );; rescue:(chunk|super)-recover) - args+=( + args+=( '!-v' '-y[assume yes to every question]' - '-v[verbose mode]' '1:device:_files' ) [[ ${${(P)group}[cmd]} == chunk-recover ]] && args+=('(-)-h[display help]') @@ -361,12 +365,11 @@ while (( $#state )); do ) ;; restore) - args+=( + args+=( '!-v' '!--verbose' '(-s --snapshots)'{-s,--snapshots}'[get snapshots]' '(-x --xattr)'{-x,--xattr}'[restore extended attributes]' '(-m --metadata)'{-m,--metadata}'[restore owner, mode and times]' '(-S --symlink)'{-S,--symlink}'[restore symbolic links]' - '(-v --verbose)'{-v,--verbose}'[be verbose and output what is restored]' '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors]' '(-o --overwrite)'{-o,--overwrite}'[overwrite directories and files]' '-t[specify tree location]:tree root' @@ -383,23 +386,20 @@ while (( $#state )); do ) ;; send|receive) - args+=( '(-q --quiet)'{-q,--quiet}'[suppress all messages except errors]' ) + args+=( '!-q' '!--quiet' ) ;| send) - args+=( - '*-v[verbose mode]' + args+=( '!-v' '-e[if sending multiple subvolumes at once, use the new format]' '-p[send incremental stream]:parent:_files -/' '*-c[use snapshot as clone source]:clone:_files -/' '-f[specify output file]:file:_files' '--no-data[send in NO_FILE_DATA mode]' - '(-v --verbose)'{-v,--verbose}'[enable verbose output]' '1:subvolume:_files -/' ) ;; receive) - args+=( - '*-v[verbose mode]' + args+=( '!-v' '-f[input file]:file: _files' '-e[terminate after <end cmd>]' '(-C --chroot)'{-C,--chroot}'[confine the process to destination path using chroot(1)]' diff --git a/Completion/Linux/Command/_cpupower b/Completion/Linux/Command/_cpupower index ae1f1d3d1..6763bdd12 100644 --- a/Completion/Linux/Command/_cpupower +++ b/Completion/Linux/Command/_cpupower @@ -20,11 +20,12 @@ cmds=( 'info:show global power parameters' 'set:set global power parameters' 'monitor:report frequency and idle statistics' + 'powercap-info:show powercapping related kernel and hardware configurations' 'help:print usage information' ) case $state in cmds) - _describe command cmds && ret=0 + _describe command cmds -M 'r:|-=* r:|=*' && ret=0 ;; args) curcontext="${curcontext%:*}-$words[1]" diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup index 45159d0be..f7149a76f 100644 --- a/Completion/Linux/Command/_cryptsetup +++ b/Completion/Linux/Command/_cryptsetup @@ -21,6 +21,7 @@ _arguments -s \ '--new-keyfile-offset=[specify number of bytes to skip in newly added keyfile]:offset (bytes)' \ '(-S --key-slot)'{-S+,--key-slot=}'[select key slot]:key slot' \ '(-b --size)'{-b+,--size=}'[force device size]:sectors' \ + '--device-size=[use only specified device size (ignore rest of device)]:size (bytes)' \ '(-o --offset)'{-o+,--offset=}'[set start offset]:sectors' \ '(-p --skip)'{-p+,--skip=}'[data to skip at beginning]:sectors' \ '(-r --readonly)'{-r,--readonly}'[create a read-only mapping]' \ @@ -44,10 +45,12 @@ _arguments -s \ '--veracrypt[scan also for VeraCrypt compatible device]' \ '--veracrypt-pim=[specify personal iteration multiplier for VeraCrypt compatible device]:multiplier' \ '--veracrypt-query-pim[query personal iteration multiplier for VeraCrypt compatible device]' \ - '(-M --type)'{-M+,--type=}'[specify type of device metadata]:type:(luks plain loopaes tcrypt)' \ + '(-M --type)'{-M+,--type=}'[specify type of device metadata]:type:(luks luks1 luks2 plain loopaes tcrypt bitlk)' \ '--force-password[disable password quality check (if enabled)]' \ '--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \ '--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \ + '--perf-no_read_workqueue[bypass dm-crypt workqueue and process read requests synchronously]' \ + '--perf-no_write_workqueue[bypass dm-crypt workqueue and process write requests synchronously]' \ '--deferred[device removal is deferred until the last user closes it]' \ '--serialize-memory-hard-pbkdf[use global lock to serialize memory]' \ '--pbkdf=[specify PBKDF algorithm for LUKS2]:algorithm:(argon2i argon2id pbkdf2)' \ @@ -60,14 +63,16 @@ _arguments -s \ '(-I --integrity)'{-I+,--integrity=}'[specify data integrity algorithm (LUKS2 only)]:algorithm' \ '--integrity-no-journal[disable journal for integrity device]' \ "--integrity-no-wipe[don't wipe device after format]" \ + '--integrity-legacy-padding[use inefficient legacy padding (old kernels)]' \ "--token-only[don't ask for passphrase if activation by token fails]" \ '--token-id=[specify token number]:number [any]' \ '--key-description=[specify key description]:description' \ '--sector-size=[specify encryption sector size]:size [512 bytes]' \ + '--iv-large-sectors[use IV counted in sector size (not in 512 bytes)]' \ '--persistent[set activation flags persistent for device]' \ '--label=[set label for the LUKS2 device]:label' \ '--subsystem=[set subsystem label for the LUKS2 device]:subsystem' \ - '--unbound[create unbound (no assigned data segment) LUKS2 keyslot]' \ + '--unbound[create or dump unbound (no assigned data segment) LUKS2 keyslot]' \ '--json-file=[read or write token to json file]:json file:_files -g "*.json(-.)"' \ '--luks2-metadata-size=[specify LUKS2 header metadata area size]:size (bytes)' \ '--luks2-keyslots-size=[specify LUKS2 header keyslots area size]:size (bytes)' \ @@ -77,12 +82,13 @@ _arguments -s \ '--encrypt[Encrypt LUKS2 device (in-place encryption)]' \ '--decrypt[decrypt LUKS2 device (remove encryption)]' \ '--init-only[initialize LUKS2 reencryption in metadata only]' \ + '--resume-only[resume initialized LUKS2 reencryption only]' \ '--reduce-device-size=[reduce data device size (move data offset)]:size (bytes)' \ '--hotzone-size=[specify maximal reencryption hotzone size]:size (bytes)' \ '--resilience=[specify reencryption hotzone resilience type]:resilience type:(checksum journal none)' \ '--resilience-hash=[specify reencryption hotzone checksums hash]:string' \ '--active-name=[override device autodetection of dm device to be reencrypted]:string' \ - "${ign}(- : *)--version[show version information]" \ + "${ign}(- : *)"{-V,--version}'[show version information]' \ "${ign}(- : *)"{-\?,--help}'[display help information]' \ "${ign}(- : *)--usage[display brief usage]" \ ':action:->actions' \ @@ -111,6 +117,7 @@ case $state in 'isLuks:check if device is a LUKS partition' 'luksDump:dump header information' 'tcryptDump:dump TCRYPT device information' + 'bitlkDump:dump BITLK device information' 'luksSuspend:suspend LUKS device and wipe key' 'luksResume:resume suspended LUKS device' 'luksHeaderBackup:store binary backup of headers' diff --git a/Completion/Linux/Command/_dkms b/Completion/Linux/Command/_dkms index a0a666e33..2a3c016c5 100644 --- a/Completion/Linux/Command/_dkms +++ b/Completion/Linux/Command/_dkms @@ -8,6 +8,7 @@ subcmds=( 'add:add a module/version combination to the tree for builds and installs' 'remove:remove a module from the tree' 'build:compile a module for a kernel' + 'unbuild:undoes the build of a module' "install:install a build module for it's corresponding kernel" 'uninstall:uninstall a module for a kernel' 'match:install every module that is installed for a template kernel for another kernel' @@ -17,6 +18,7 @@ subcmds=( 'mkrpm:create an RPM package for a module' 'mkdeb:create a debian binary package for a module' 'mkdsc:create a debian source package for a module' + 'mkbmdeb:create a debian package containing just binary modules' 'mkkmp:create a Kernel Module Package source RPM for a module' 'status:display the current status of modules, versions and kernels within the tree' 'autoinstall:try to install the latest revision of all modules that have been installed for other kernel revisions' @@ -32,6 +34,7 @@ args=( '--installtree=:path:_directories' '--sourcetree=:path:_directories' '--dkmsframework=:path:_directories' + '--force-version-override' '1: : _describe -t commands command subcmds' ) @@ -44,7 +47,7 @@ else '(remove|build|install|uninstall|match|status|mk(^kmp))' 'k' \ '(add|remove)' '-rpm_safe_upgrade' \ 'mk(driverdisk|kmp)' '-spec' \ - 'mk(deb|dsc|rpm)' '-legacy-postinst' \ + 'mk(deb|dsc|bmdeb|rpm)' '-legacy-postinst' \ 'mk(tarball|rpm|deb|dsc)' '-(source|binary)-only' \ '(match|build|mkkmp)' '(k|-no-(prepare|clean)-kernel|-kernelsourcedir)' \ '(|un)install' '-no-(depmod|initrd)' \ @@ -67,7 +70,7 @@ case $cmd in remove|build|install|uninstall|mk*|status) args+=( ': :->modules' ) ;| - |remove|build|install|uninstall|match|status|mk(^kmp)) + |remove|(un|)build|install|uninstall|match|status|mk(^kmp)) args+=( '(--all)*-k[specify kernel version]:kernel:->kernels' ) ;| |add|remove) args+=( "${ign}--rpm_safe_upgrade" ) ;| @@ -77,7 +80,7 @@ case $cmd in |(mk|ld)tarball) args+=( "${ign}--archive=:tarball:_files -g '*.tar(-.)'" ) ;| - |mk(deb|dsc|rpm)) + |mk(deb|dsc|bmdeb|rpm)) args+=( "${ign}--legacy-postinst=:value [1]:(0 1)" ) ;| |mk(tarball|rpm|deb|dsc)) args+=( "${ign}(--source-only --binaries-only)--"{source,binaries}-only ) ;| @@ -100,7 +103,7 @@ case $cmd in '-c[specify location of dkms.conf file]:location:_files' ) ;| - |remove|build|install|status|mk(^kmp)) + |remove|(un|)build|install|status|mk(^kmp)) args+=( '(-a --arch -k)--all[specify all relevant kernels/arches]' ) ;| |build) diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index dccda4684..95a8bbfb6 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -5,16 +5,21 @@ local -a state line expl cmds local -A opt_args _arguments -C \ + '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ + '--json[output results in JSON]' \ + '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ + '(cmds)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \ "1:interface:_net_interfaces" \ - '*: :->args' \ + '*:: :->args' \ + + '(cmdc)' \ + '(cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ + '(cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ + '(cmds)' \ '(1)'{-h,--help}'[display help information]' \ '(1)--version[display version information]' \ {-s,--change}'[allow changing some or all settings of the specified ethernet device]' \ {-a,--show-pause}'[query the specified ethernet device for pause parameter information]' \ {-A,--pause}'[change the pause parameters of the specified ethernet device]' \ - {-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ - {-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ {-g,--show-ring}'[query the specified ethernet device for RX/TX ring parameter information]' \ {-G,--set-ring}'[change the RX/TX ring parameters of the specified ethernet device]' \ {-k,--show-features,--show-offload}'[query the specified ethernet device for offload information]' \ @@ -46,10 +51,21 @@ _arguments -C \ '--set-eee[set EEE settings]' \ '--set-phy-tunable[set PHY tunable]' \ '--get-phy-tunable[get PHY tunable]' \ + '--get-tunable[get tunable parameters]' \ + "--set-tunable[set driver's tunable parameters]" \ '--reset[reset hardware components]' \ '--show-fec[query device for forward error correction support]' \ '--set-fec[configure forward error correction for device]' \ - {-Q,--per-queue}'[apply per-queue command]' && return + '--cable-test[perform cable test and report the results]' \ + '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ + '--show-tunnels[show tunnel-related device capabilities and state]' \ + '--monitor[listen to netlink notifications and displays them]::command:( + --all -s --change -k --show-features --show-offload -K + --features --offload --show-priv-flags --set-priv-flags -g --show-ring + -G --set-ring -l --show-channels -L --set-channels -c --show-coalesce + -C --coalesce -a --show-pause -A --pause --show-eee --set-eee + --cable-test --cable-test-tdr + )' && return if [[ -n $state ]]; then case $words[CURRENT-1] in @@ -62,7 +78,8 @@ if [[ -n $state ]]; then _wanted onoff expl 'enabled' compadd off on fi ;; - autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift|fast-link-down) + autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift) ;& + fast-link-down|energy-detect-power-down|mode) _wanted onoff expl 'enabled' compadd off on ;; rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& @@ -71,6 +88,8 @@ if [[ -n $state ]]; then rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-mini) ;& rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& + page|bank|i2c|first|last|step|pair|lanes) ;& + rx-copybreak|tx-copybreak|pfc-prevention-tout) ;& other|combined|tx-timer|count|msecs) _message -e numbers 'number' ;; @@ -81,7 +100,10 @@ if [[ -n $state ]]; then _wanted duplex expl 'duplex mode' compadd half full ;; port) - _wanted port expl 'device port' compadd tp aui bnc mii fibre + _wanted port expl 'device port' compadd tp aui bnc mii fibre da + ;; + master-slave) + _wanted roles expl role compadd {preferred,forced}-{master,slave} ;; advertise) _values 'hexadecimal value (or a combination of the following)' \ @@ -93,7 +115,8 @@ if [[ -n $state ]]; then '0x020[1000 full]' \ '0x8000[2500 full(not supported by IEEE standards)]' \ '0x800[10000 full]' \ - '0x03F[auto]' + '0x03F[auto]' \ + 'mode[set mode]' ;; xcvr) _wanted xcvr expl 'transceiver type' compadd internal external @@ -144,7 +167,7 @@ if [[ -n $state ]]; then _message -e contexts 'RSS context' ;; *) - case $words[2] in + case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in -A|--pause) _values -S ' ' -w 'pause parameter' \ 'autoneg[specify if pause autonegotiation is enabled]' \ @@ -192,6 +215,9 @@ if [[ -n $state ]]; then -p|--identify) (( CURRENT = 4 )) && _message -e length 'duration (seconds)' ;; + -S|--statistics) + _arguments '(-)--all-groups' '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' + ;; -t|--test) _values -S ' ' -w 'test mode' \ '(online)offline:perform full set of tests possibly causing normal operation interruption (default)]' \ @@ -202,8 +228,10 @@ if [[ -n $state ]]; then if (( ! $words[(I)msglvl] )); then _values -S ' ' -w 'generic option' \ 'speed[set speed in Mb/s]' \ + 'lanes[set number of lanes]' \ 'duplex[set full or half duplex mode]' \ 'port[select device port]' \ + 'master-slave[configure interface role]' \ 'autoneg[specify if autonegotiation is enabled]' \ 'advertise[set the speed and duplex advertised by autonegotiation]' \ 'phyad[PHY address]' \ @@ -274,16 +302,23 @@ if [[ -n $state ]]; then fi ;; -m|--dump-module-eeprom|--module-info) - _wanted options expl option compadd -F line - raw hex offset length + _wanted options expl option compadd -F line - raw hex offset \ + length page bank i2c ;; --set-eee) _wanted behaviours expl behaviour compadd -F line - eee advertise tx-lpi tx-timer ;; --set-phy-tunable) - _wanted options expl tunable compadd -F line - downshift count fast-link-down msecs + _wanted options expl tunable compadd -F line - downshift count \ + fast-link-down msecs energy-detect-power-down ;; --get-phy-tunable) - _wanted options expl tunable compadd downshift fast-link-down + _wanted options expl tunable compadd downshift fast-link-down \ + energy-detect-power-down + ;; + --[gs]et-tunable) + _wanted options expl tunable compadd rx-copybreak tx-copybreak \ + pfc-prevention-tout ;; --reset) _wanted components expl component compadd flags dedicated all \ @@ -303,6 +338,9 @@ if [[ -n $state ]]; then _wanted options expl option compadd -c --show-coalescing -C --coalesce fi ;; + --cable-test-tdr) + _wanted options expl 'distance options' compadd first last step pair + ;; esac ;; esac diff --git a/Completion/Linux/Command/_findmnt b/Completion/Linux/Command/_findmnt index 9f13e695f..0c832364d 100644 --- a/Completion/Linux/Command/_findmnt +++ b/Completion/Linux/Command/_findmnt @@ -22,9 +22,12 @@ _arguments -s -C \ '(H -M --mountpoint :)'{-M+,--mountpoint=}'[specify the mountpoint]: :->targets' \ '(H -n --noheadings)'{-n,--noheadings}'[do not print a header line]' \ '(H -O --options)'{-O+,--options=}'[only print the filesystems with the specified options]:list of options: ' \ - '(H -o --output)'{-o+,--output=}'[specify output columns]: :->columns' \ + '(H -o --output --output-all)'{-o+,--output=}'[specify output columns]: :->columns' \ + '(H -o --output)--output-all[output all available columns]' \ '(H -p --poll)'{-p+,--poll=}'[monitor changes in /proc/self/mountinfo]::action:(mount umount remount move)' \ + '(H --real)--pseudo[print only pseudo-filesystems]' \ '(H -R --submounts)'{-R,--submounts}'[print recursively all submounts]' \ + '(H --pseudo)--real[print only real filesystems]' \ '(H -S --source :)'{-S+,--source=}'[specify the mount source]: :->sources' \ '(H -T --target :)'{-T+,--target=}'[specify the mount target]:target:_files' \ '(H -t --types)'{-t+,--types=}'[specify the type of filesystems]:filesystem types:_sequence -s , _file_systems' \ @@ -39,7 +42,7 @@ _arguments -s -C \ '(H)2:: :->targets' \ + '(format)' \ '(H)'{-D,--df}'[imitate the output of df command]' \ - '(H)'{-J,--json}'[use JASON output format]' \ + '(H)'{-J,--json}'[use JSON output format]' \ '(H)'{-l,--list}'[use list output format]' \ '(H)'{-P,--pairs}'[use key="value" output format]' \ '(H)'{-r,--raw}'[use raw output format]' \ @@ -101,7 +104,7 @@ case $state in 'prefixes:prefix:compadd -S "" LABEL= UUID= PARTLABEL= PARTUUID=' ) [[ $state = sources_targets ]] && - alts+=( 'mount-points:moutpoint:__findmnt_mountpoints' ) + alts+=( 'mount-points:mountpoint:__findmnt_mountpoints' ) _alternative $alts && ret=0 fi ;; diff --git a/Completion/Linux/Command/_networkmanager b/Completion/Linux/Command/_networkmanager index c9b09d145..1e05252b2 100644 --- a/Completion/Linux/Command/_networkmanager +++ b/Completion/Linux/Command/_networkmanager @@ -244,7 +244,7 @@ _nm_device_wifi() { local curcontext="$curcontext" state line _arguments -C \ - "1:command:(list connect hotspot rescan)" \ + "1:command:(list connect hotspot rescan show-password)" \ "*::arg:->args" case $line[1] in @@ -252,6 +252,7 @@ _nm_device_wifi() { c*) _nm_device_wifi_connect ;; ho*) _nm_device_wifi_hotspot ;; r*) _nm_device_wifi_rescan ;; + s*) _nm_device_wifi_show-password ;; esac } @@ -362,6 +363,12 @@ _nm_device_wifi_rescan() { "4:ssid:_nm_device_wifi_ssids" } +_nm_device_wifi_show-password() { + _arguments \ + "1: :(ifname)" \ + "2:interface:_nm_device_ifnames" +} + _nm_device_wifi_bssids() { local -a bssids bssids=(${(f)"$(_call_program nmcli nmcli -t -f bssid device wifi list)"}) diff --git a/Completion/Linux/Command/_pidof b/Completion/Linux/Command/_pidof index 05fb23d45..dd0649ce9 100644 --- a/Completion/Linux/Command/_pidof +++ b/Completion/Linux/Command/_pidof @@ -9,6 +9,8 @@ _arguments -C -s -w \ '(- *)'{-V,--version}'[print program version]' \ "(-s --single-shot $exargs)"{-s,--single-shot}'[return one PID only]' \ "(-c --check-root $exargs)"{-c,--check-root}'[omit processes with different root]' \ + '-q[quiet mode, only set the exit code]' \ + '(-w --with-workers)'{-w,--with-workers}'[show kernel workers too]' \ "(-x $exargs)"-x'[include shells running named scripts]' \ "($exargs)"\*{-o+,--omit-pid=}'[omit processes with PIDs]:pids:_sequence -s , _pids' \ '(-S --separator)'{-S+,--separator=}'[specify separator put between PIDs]:separator' \ diff --git a/Completion/Linux/Command/_sysstat b/Completion/Linux/Command/_sysstat index 4de855b69..eba99fc5a 100644 --- a/Completion/Linux/Command/_sysstat +++ b/Completion/Linux/Command/_sysstat @@ -11,6 +11,7 @@ _mpstat() { '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ '-o[display statistics in JSON]:format:(JSON)' \ '(-A)-P[specify processor number]:processor: _values -s "," processor ALL {0..$(_call_program processors getconf _NPROCESSORS_ONLN)}' \ + '-T[display topology elements in the CPU report]' \ '-u[report CPU utilization]' \ '(- 1 2)-V[display version information]' \ '1: : _guard "^-*" interval' \ @@ -26,6 +27,7 @@ _cifsiostat() { '-t[print timestamp for each report]' \ '(- 1 2)-V[print version number]' \ '--human[print sizes in human readable format]' \ + '--pretty[make the CIFS report easier to read by a human]' \ '1: : _guard "^-*" interval' \ '2: : _guard "^-*" count' } @@ -49,7 +51,7 @@ _sadf() { '-H[display only the header of the report]' \ '(-g -j -p -r -x)-h[print on a single line when used with -d]' \ '-O[specify output options]: : _values -s , option - autoscale height\:value oneday packed showidle showinfo skipempty showhints' \ + autoscale bwcol customcol height\:value oneday packed showidle showinfo showtoc skipempty hz\:value pcparchive\:name\:_files debug' \ '-P[restrict processor dependant statistics]:processor number(zero indexed) or ALL:(ALL)' \ '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ @@ -66,6 +68,7 @@ _sadf() { '-d[output file in SQL format]' \ '-g[print data in SVG format]' \ '-j[output file in JSON]' \ + '-l[export the contents of the data file to a PCP (Performance Co-Pilot) archive]' \ '-p[print in format parsable by tools like awk]' \ '-r[print raw contents of data file]' \ '-x[output file in XML]' \ @@ -105,7 +108,7 @@ _sar() { '-o[save readings to file in binary form]:file:_files' \ '-P[report per-processor statistics]:processor: _values -s "," processors ALL' \ '-p[pretty-print device names]' \ - '-q[report queue length and load averages]' \ + '-q[report queue length and load averages]::keyword:(CPU IO LOAD MEM PSI ALL)' \ '-R[report memory statistics]' \ '-r[report memory utilization statistics]:: :(ALL)' \ '-S[report swap space utilization]' \ diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind index 23a8cd734..b4bb3248e 100644 --- a/Completion/Linux/Command/_valgrind +++ b/Completion/Linux/Command/_valgrind @@ -205,6 +205,7 @@ _arguments -C ${(P)args} $cmd \ '(--version)--tool=-[specify valgrind tool]:valgrind tool:->tools' \ '(-h --help)'{-h,--help}'[show help information]' \ '--help-debug[show help info including debugging options]' \ + '--help-dyn-options[show the dynamically changeable options]' \ '(-)--version[show version]' \ '(-q --quiet)'{-q,--quiet}'[run silently; only print error msgs]' \ '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ diff --git a/Completion/Linux/Command/_wipefs b/Completion/Linux/Command/_wipefs index 5142def8a..8642aab92 100644 --- a/Completion/Linux/Command/_wipefs +++ b/Completion/Linux/Command/_wipefs @@ -19,6 +19,7 @@ _arguments -s -S \ '(H -p --parsable -i --no-headings -J --json)'{-p,--parsable}'[print out in parsable instead of printable format]' \ '(H -q --quiet)'{-q,--quiet}'[suppress output messages]' \ '(H -t --types)'{-t+,--types=}'[limit the set of filesystem, RAIDs or partition tables]:type:_file_systems' \ + '(H)--lock=-[use exclusive device lock]::mode:(yes no nonblock)' \ '(H)*:disk device:_files -g "*(-%)" -P / -W /' \ + '(H)' \ '(- *)'{-h,--help}'[display help information]' \ diff --git a/Completion/Redhat/Command/_rpm b/Completion/Redhat/Command/_rpm index db7c1145d..d00f88429 100644 --- a/Completion/Redhat/Command/_rpm +++ b/Completion/Redhat/Command/_rpm @@ -129,6 +129,7 @@ _rpm () { '--scm=[select the SCM to use with %autosetup]:scm [patch]:(patch gendiff git quilt)' '*--buildpolicy=[set buildroot policy]:policy:->brp_policies' '!--sign' + '--trace[trace macro expansion]' "--nodebuginfo[don't generate debuginfo for this package]" ) diff --git a/Completion/Unix/Command/_abcde b/Completion/Unix/Command/_abcde index 361b43091..3f748d373 100644 --- a/Completion/Unix/Command/_abcde +++ b/Completion/Unix/Command/_abcde @@ -1,50 +1,41 @@ #compdef abcde -(( $+functions[_abcde_fields] )) || -_abcde_fields(){ - _values -s , field year genre -} - -(( $+functions[_abcde_actions] )) || -_abcde_actions(){ - _values -s , action cddb cue read getalbumart embedalbumart normalize encode tag move replaygain playlist clean -} - -_arguments -s \ +_arguments -s -S -A "-*" \ '(-t -T -p)-1[encode the whole CD in a single file]' \ - '-a[comma-delimited list of actions to perform]:action:_abcde_actions' \ + '-a[comma-delimited list of actions to perform]:action:_sequence compadd - cddb cue read getalbumart embedalbumart normalize encode tag move replaygain playlist clean' \ '-b[enable batch mode normalization]' \ '-B[enable automatic embedding of album art with certain containers]' \ - '-c[specify an additional configuration file to parse]:config:_files' \ - '-C[resume a session for discid when you no longer have the CD available]:discid' \ - '-d[CD-ROM block device that contains audio tracks to be read]:cd-rom-file:_files' \ + '-c+[specify an additional configuration file to parse]:config:_files' \ + '-C+[resume a session when read was completed but CD is not present]:disc id:compadd abcde.*(N:e)' \ + '-d+[specify CD device from which to read audio tracks]:CD device:_files -g "*(-%)" -P / -W /' \ '-D[capture debugging information]' \ '-e[erase information about encoded tracks from the internal status file]' \ '-f[force the removal of the temporary ABCDETEMPDIR directory]' \ "-g[enable lame's --nogap option]" \ '-G[download album art using the getalbumart function]' \ '(- :)-h[get help information]' \ - '-j[start a specified number of encoder processes at once]:number' \ + '-j+[start specified number of encoder processes at once]:number' \ '-k[keep the wav files after encoding]' \ - '-l[use the low-diskspace algorithm]' \ + '-l[use the low disk space algorithm]' \ '-L[use a local CDDB repository]' \ '-m[create DOS-style playlists, modifying the resulting one by adding CRLF line endings those to work]' \ "-n[don't query CDDB database]" \ '-N[non interactive mode]' \ - '-o[select output type]:outputtype:(vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff)' \ + '-o+[select output type]:output type [vorbis]:(vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff)' \ "-p[pads track numbers with 0's]" \ '-P[use Unix PIPES to read and encode in one step]' \ - '-r[remote encode on this comma-delimited list of machines using distmp3]:hosts:_sequence _hosts' \ - '-s[fields to be shown in the CDDB parsed entries]:field:_abcde_fields' \ - '-S[set the speed of the CD drive]:speed' \ - '-t[start the numbering of the tracks at a given number]:track-number' \ - '-T[start the numbering of the tracks at a given number and change internal tag numbering]:track-number' \ + '-Q+[specify CD lookup methods]:lookup method [musicbrainz]:_sequence compadd - musicbrainz cddb cdtext' \ + '-r+[remote encode on this comma-delimited list of machines using distmp3]:hosts:_sequence _hosts' \ + '-s+[fields to be shown in the CDDB parsed entries]:field:_sequence compadd - year genre' \ + '-S+[set the speed of the CD drive]:speed' \ + '-t+[start the numbering of the tracks at a given number]:track-number' \ + '-T+[start the numbering of the tracks at a given number and change internal tag numbering]:track-number' \ '-U[set CDDBPROTO to version 5]' \ '(- :)-v[show the version and exit]' \ '-V[be more verbose]' \ '-x[eject the CD when all tracks have been read]' \ - '-X[use an alternative "cue2discid" implementation]:cue2discid' \ - '-w[add a comment to the tracks ripped from the CD]:comment' \ - "-W[concatenate CD's]:cd-number" \ + '-X+[use an alternative "cue2discid" implementation]:cue2discid:_command_names -e' \ + '-w+[add a comment to the tracks ripped from the CD]:comment' \ + "-W+[concatenate CD's]:cd-number" \ '-z[debug mode]' \ - '*:tracks:' + '*: :_guard "^-*" "track list"' diff --git a/Completion/Unix/Command/_ansible b/Completion/Unix/Command/_ansible index 65cae148e..6ec7d0c2e 100644 --- a/Completion/Unix/Command/_ansible +++ b/Completion/Unix/Command/_ansible @@ -22,6 +22,8 @@ case $service in args+=( '(-K --ask-become-pass)'{-K,--ask-become-pass}'[ask for privilege escalation password]' '(-k --ask-pass)'{-k,--ask-pass}'[ask for connection password]' + '--list-hosts[output list of matching hosts]' + '(-l --limit)'{-l+,--limit=}'[further limit hosts to an additional pattern]:host subset:->hosts' '(-T --timeout)'{-T+,--timeout=}'[override the connection timeout]:timeout (seconds) [10]' '(-c --connection)'{-c+,--connection=}'[specify connection type]:connection type [smart]:->connect-types' '(-u --user)'{-u+,--user=}'[specify remote user for connection]:remote user:_users' @@ -47,28 +49,14 @@ case $service in ansible|ansible-console|ansible-inventory|ansible-playbook|ansible-pull) args+=( --ask-vault-pass{,word}'[ask for vault password]' + '(-e --extra-vars)'{-e+,--extra-vars=}'[set additional variables]:key=value or YAML/JSON' '--vault-id=[specify vault identity to use]:vault identity' --vault-pass{,word}-file='[specify vault password file]:vault password file:_files' - ) - ;| - ansible|ansible-console|ansible-inventory|ansible-playbook|ansible-pull) - args+=( \*{-i+,--inventory=}'[specify inventory host file or host list]: : _alternative "files\:inventory file\:_files" "hosts\:host\: _sequence _hosts"' '!(-i --inventory)--inventory-file=:inventory file:_files' ) ;| - ansible|ansible-console|ansible-playbook|ansible-pull) - args+=( - '--list-hosts[output list of matching hosts]' - '(-l --limit)'{-l+,--limit=}'[further limit hosts to an additional pattern]:host subset:->hosts' - ) - ;| - ansible|ansible-playbook|ansible-pull) - args+=( - '(-e --extra-vars)'{-e+,--extra-vars=}'[set additional variables]:key=value or YAML/JSON' - ) - ;| ansible|ansible-console|ansible-inventory) args+=( '--playbook-dir=[specify substitute playbook directory]:directory:_directories' @@ -80,11 +68,16 @@ case $service in "--skip-tags[only run plays and tasks whose tags don't match]" ) ;| + ansible|ansible-console) + args+=( + '--task-timeout[set the task timeout limit]:timeout (seconds)' + ) + ;| ansible) args+=( '(-a --args)'{-a+,--args=}'[specify command or module arguments]:arguments:->args' '(-B --background)'{-B+,--background=}'[run asynchronously, failing after specified time]:fail timeout (seconds)' - '(-m --module-name)'{-m+,--module-name=}'[specify module]:module:->plugins' + '(-m --module-name)'{-m+,--module-name=}'[specify action to execute]: :->plugins' '(-o --one-line)'{-o,--one-line}'[condense output]' '(-P --poll)'{-P+,--poll=}'[specify the poll interval if using -B]:interval (seconds) [15]' '(-t --tree)'{-t+,--tree=}'[specify directory for log output]:directory:_directories' @@ -111,11 +104,14 @@ case $service in ansible-doc) args+=( '!--metadata-dump' # "internal testing only" - '(-l --list -F --list_files -s --snippet)'{-j,--json}'[change output to json format]' - '(-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]' - '(-t --type)'{-t+,--type=}'[choose plugin type]:plugin type [module]:(become cache callback cliconf connection httpapi inventory lookup netconf shell module strategy vars)' + '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-j,--json}'[change output to json format]' + '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-l,--list}'[list available plugins]' + '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-F,--list_files}'[show plugin names and their source files without summaries]' + '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-s,--snippet}'[show playbook snippet for specified plugins]' + '(-l --list -F --list_files -s --snippet -e --entry-point)--metadata-dump[dump json metadata for all plugins]' + '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-e+,--entry-point=}'[select the entry point for roles]:entry point' + '(-t --type)'{-t+,--type=}'[choose plugin type]:plugin type [module]:(become cache callback cliconf connection httpapi inventory lookup netconf shell vars module strategy role keyword)' + '(-r --roles-path)'{-r+,--roles-path=}'[specify directory containing roles]:directory:_directories' '*:plugin:->plugins' ) ;; @@ -389,6 +385,7 @@ case $state in encrypt_string) args+=( '(-p --prompt)'{-p,--prompt}'[prompt for the string to encrypt]' + "--show-input[don't hide input when prompted for the string to encrypt]" '(-n --name)'{-n+,--name=}'[specify the variable name]:variable' '--stdin-name=[specify the variable name for stdin]:variable' ) diff --git a/Completion/Unix/Command/_attr b/Completion/Unix/Command/_attr index 121c0c539..efa7c5c4f 100644 --- a/Completion/Unix/Command/_attr +++ b/Completion/Unix/Command/_attr @@ -23,6 +23,7 @@ case $service in '(-e --encoding)'{-e+,--encoding=}'[encode values after retrieving them]:encoding:(text hex base64)' \ '(-h --no-dereference)'{-h,--no-dereference}"[don't follow symbolic links]" \ '(-m --match)'{-m+,--match=}'[only include attributes with names matching regex]:regular expression' \ + '--one-file-system[skip files on different filesystems]' \ "--absolute-names[don't strip leading slash characters]" \ '--only-values[dump only attribute values]' \ '(-R --recursive)'{-R,--recursive}'[list attributes of all files and directories recursively]' \ diff --git a/Completion/Unix/Command/_dict b/Completion/Unix/Command/_dict index 202fc5bab..928728e06 100644 --- a/Completion/Unix/Command/_dict +++ b/Completion/Unix/Command/_dict @@ -21,6 +21,8 @@ _arguments -C -S \ '(--key -k)'{--key=,-k+}'[specify key for authentication]:shared secret:' \ '(-)'{--version,-V}'[display program version]' \ '(-)'{--license,-L}'[display program license]' \ + '(-6)-4[force use of IPv4 addresses only]' \ + '(-4)-6[force use of IPv6 addresses only]' \ '(-)--help[display usage info]' \ '(--verbose -v)'{--verbose,-v}'[verbose output]' \ '(--raw -r)'{--raw,-r}'[be very verbose]' \ diff --git a/Completion/Unix/Command/_dig b/Completion/Unix/Command/_dig index 5245a2964..3081e2cfd 100644 --- a/Completion/Unix/Command/_dig +++ b/Completion/Unix/Command/_dig @@ -24,10 +24,12 @@ local -a alts args '*+'{no,}'ednsnegotiation[set EDNS version negotiation]' '*+ednsopt=[specify EDNS option]:code point' '*+noedns[clear EDNS options to be sent]' + '*+'{no,}'expandaaaa[expand AAAA records]' '*+'{no,}'expire[send an EDNS Expire option]' '*+'{no,}'header-only[send query without a question section]' '*+'{no,}'idnin[set processing of IDN domain names on input]' '*+'{no,}'idnout[set conversion of IDN puny code on output]' + '*+'{no,}'keepalive[request EDNS TCP keepalive]' '*+'{no,}'keepopen[keep TCP socket open between queries]' '*+'{no,}'mapped[allow mapped IPv4 over IPv6 to be used]' '*+'{no,}'recurse[set the RD (recursion desired) bit in the query]' @@ -40,12 +42,15 @@ local -a alts args '*+'{no,}'identify[print IP and port of responder]' '*+'{no,}'comments[print comment lines in output]' '*+'{no,}'stats[print statistics]' + '*+padding[set padding block size]:size [0]' '*+'{no,}'qr[print query as it was sent]' '*+'{no,}'question[print question section of a query]' + '*+'{no,}'raflag[set RA flag in the query]' '*+'{no,}'answer[print answer section of a reply]' '*+'{no,}'authority[print authority section of a reply]' '*+'{no,}'all[set all print/display flags]' '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length' + '*+'{no,}'tcflag[set TC flag in the query]' '*+timeout=[set query timeout]:timeout (seconds) [5]' '*+tries=[specify number of UDP query attempts]:tries' '*+retry=[specify number of UDP query retries]:retries' @@ -57,13 +62,12 @@ local -a alts args '*+'{no,}"fail[don't try next server on SERVFAIL]" '*+'{no,}'besteffort[try to parse even malformed messages]' '*+'{no,}'dnssec[request DNSSEC records]' - '*+'{no,}'sigchase[chase DNSSEC signature chains]' - '*+trusted-key=[specify file containing trusted keys]:file:_files' - '*+'{no,}'topdown[do DNSSEC validation in top down mode]' '*+'{no,}'nsid[include EDNS name server ID request in query]' '*+'{no,}'ttlid[display the TTL whening printing the record]' '*+'{no,}'ttlunits[display the TTL in human-readable units]' + '*+'{no,}'unexpected[print replies from unexpected sources]' '*+'{no,}'unknownformat[print RDATA in RFC 3597 "unknown" format]' + '*+'{no,}'yaml[present the results as YAML]' '*+'{no,}'zflag[set Z flag in query]' ) _arguments -s -C $args \ diff --git a/Completion/Unix/Command/_entr b/Completion/Unix/Command/_entr index 3e2261a18..438ab179a 100644 --- a/Completion/Unix/Command/_entr +++ b/Completion/Unix/Command/_entr @@ -11,6 +11,7 @@ _arguments -s -S \ '-p[postpone first execution of the utility]' \ '(-a)-r[reload a persistent child process]' \ '(*)-s[evaluate the first argument using interpreter specified by $SHELL]' \ + '-z[exit after the utility completes]' \ '(-): :->command' \ '*::arguments:_normal' && ret=0 diff --git a/Completion/Unix/Command/_gem b/Completion/Unix/Command/_gem index 53adfb89c..7e244ccad 100644 --- a/Completion/Unix/Command/_gem +++ b/Completion/Unix/Command/_gem @@ -196,7 +196,7 @@ if [[ $state = command ]]; then ) ;; environment) - args+=( '1:information:(packageversion gemdir gempath version remotesources platform)' ) + args+=( '1:information:(gemdir gempath version remotesources platform)' ) ;; fetch) def=( both \! local \! remote \! ) @@ -299,6 +299,9 @@ if [[ $state = command ]]; then '*:file:_files' ) ;; + yank) + args+=( '--otp=[specify code for multifactor authentication]:code' ) + ;; esac _arguments -C ${args:-'*: :_default'} \ '(-)'{-h,--help}'[display usage information]' \ diff --git a/Completion/Unix/Command/_getfacl b/Completion/Unix/Command/_getfacl index 15be06a1c..27b5ee1c8 100644 --- a/Completion/Unix/Command/_getfacl +++ b/Completion/Unix/Command/_getfacl @@ -22,6 +22,7 @@ _arguments -s -S \ '(-P --physical)'{-P,--physical}"[physical walk, don't follow symbolic links]" \ '(-t --tabular)'{-t,--tabular}'[use tabular output format]' \ '(-n --numeric)'{-n,--numeric}'[print numeric user/group identifiers]' \ + '--one-file-system[skip files on different filesystems]' \ '(-p --absolute-names)'{-p,--absolute-names}"[don't strip leading '/' in pathnames]" \ '(- *)'{-v,--version}'[display version information]' \ '(- *)'{-h,--help}'[display help information]' \ diff --git a/Completion/Unix/Command/_gnutls b/Completion/Unix/Command/_gnutls index 6c9956b10..b9f91264d 100644 --- a/Completion/Unix/Command/_gnutls +++ b/Completion/Unix/Command/_gnutls @@ -37,6 +37,8 @@ case "$service" in '--x509crlfile=[specify CRL file to use]:file:_files' '*--x509keyfile=[specify X.509 key file to use]:file:_files' '*--x509certfile=[specify X.509 certificate file to use]:file:_files' + '*--rawpkkeyfile=[specify private key file or URL to use]:file:_files' + '*--rawpkfile=[specify raw public-key file to use]:file:_files' '(-l --list -p --port)'{-l,--list}'[print list of the supported algorithms/modes]' '--keymatexport=[specify label used for exporting keying material]:label' '--keymatexportsize=[specify size of the exported keying material]:size' @@ -70,7 +72,8 @@ case "$service" in '--fastopen[enable TCP Fast Open]' "--print-cert[print peer's certificate in PEM format]" "--save-cert=[save peer's certificate chain in the specified file in PEM format]:file:_files" - "--save-ocsp=[save peer's OCSP status response in the provided file]:file:_files" + "(--save-ocsp-multi)--save-ocsp=[save peer's OCSP status response in the provided file]:file:_files" + "(--save-ocsp)--save-ocsp-multi=[save all peer's OCSP responses in the provided file]:file:_files" '--save-server-trace=[save the server-side TLS message trace in the provided file]:file:_files' '--save-client-trace=[save the client-side TLS message trace in the provided file]:file:_files' '--dh-bits=[specify minimum number of bits allowed for DH]:bits' @@ -93,6 +96,8 @@ case "$service" in '--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]' '--fips140-mode[report status of FIPS140-2 mode in gnutls library]' '--logfile=[redirect informational messages to a specific file]:file:_files' + '--waitresumption[block waiting for the resumption data under TLS1.3]' + '--ca-auto-retrieve[enable automatic retrieval of missing CA certificates]' ) ;; @@ -109,6 +114,7 @@ case "$service" in "--nodb[don't use a resumption database]" '--http[act as an HTTP server]' '--echo[act as an Echo server]' + "--crlf[don't replace CRLF by LF in Echo server mode]" '(-a --disable-client-cert -r --require-client-cert)'{-a,--disable-client-cert}"[don't request a client certificate]" '(-a --disable-client-cert -r --require-client-cert)'{-r,--require-client-cert}'[require a client certificate]' '--verify-client-cert[if a client certificate is sent then verify it]' @@ -144,7 +150,8 @@ case "$service" in '--verify-crl[verify a CRL]' '(--verify-email)--verify-hostname=[specify hostname to be used for certificate chain verification]:hostname:_hosts' '(--verify-hostname)--verify-email=[specify email to be used for certificate chain verification]:email:_email_addresses' - '--verify-purpose=[specify a purpose OID to be used for certificate chain verification]' + '--verify-purpose=[specify a purpose OID to be used for certificate chain verification]:purpose' + '--verify-profile=[specify a security level profile to be used for verification]:profile' '--p7-sign[sign using a PKCS #7 structure]' '--p7-detached-sign[sign using a detached PKCS #7 structure]' "--no-p7-include-cert[don't include signer's certificate will in the cert list]" diff --git a/Completion/Unix/Command/_gprof b/Completion/Unix/Command/_gprof index 3bb7a5765..a7e602fd5 100644 --- a/Completion/Unix/Command/_gprof +++ b/Completion/Unix/Command/_gprof @@ -3,8 +3,8 @@ local curcontext="$curcontext" state line ret=1 typeset -A opt_args -_arguments -C -s -{a,b,c,D,h,i,l,L,s,T,v,w,x,y,z} \ - -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,Z}:'function name:->funcs' \ +_arguments -C -s -{a,b,c,D,h,i,l,L,r,s,T,v,w,x,y,z} \ + -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,R,S,t,Z}:'function name:->funcs' \ '-I:directory:_dir_list' \ '-d-:debug level:' '-k:function names:->pair' \ '-m:minimum execution count:' \ diff --git a/Completion/Unix/Command/_gzip b/Completion/Unix/Command/_gzip index 42d4ae705..8354b34d4 100644 --- a/Completion/Unix/Command/_gzip +++ b/Completion/Unix/Command/_gzip @@ -9,10 +9,14 @@ files=( '*:files:->files' ) case "$service" in unpigz|pigz) pigz=( - '(-K --zip)'{-K,--zip}'[compress to PKWare zip format]' + '(-A --alias)'{-A+,--alias=}'[specify filename to use in zip entry for stdin]:filename' + '(-C --comment)'{-C+,--comment=}'[put specified comment in the gzip or zip header]' + '(-H --huffman -U --rle)'{-H,--huffman}'[use only Huffman coding for compression]' + '(-U --rle -H --huffman)'{-U,--rle}'[use run-length encoding for compression]' + '(-K --zip -z --zlib)'{-K,--zip}'[compress to PKWare zip format]' '(-b --blocksize)'{-b+,--blocksize}'[set compression block size]:size (KiB)' '(-p --processes)'{-p,--processes}'[specify number of processes to use]' - '(-z --zlib)'{-z,--zlib}'[compress to zlib (.zz) format]' + '(-z --zlib -K --zip)'{-z,--zlib}'[compress to zlib (.zz) format]' '(-m --no-time)'{-m,--no-time}"[don't store/restore modification time in/from header]" '(-M --time)'{-M,--time}"[store/restore modification time in/from header]" '(--synchronous)-Y[force output file write to permanent storage]' diff --git a/Completion/Unix/Command/_iostat b/Completion/Unix/Command/_iostat index f5291a19b..1152b0d8b 100644 --- a/Completion/Unix/Command/_iostat +++ b/Completion/Unix/Command/_iostat @@ -128,10 +128,13 @@ case $OSTYPE:l in '-c[display CPU utilization report]' '-d[display device utilization report]' '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' + '-f[specify alternative directory to read device statistics from]:directory:_directories' + '+f[specify additional directory to read device statistics from]:directory:_directories' '*-g[display statistics for a group of devices]:group name' '-H[only display global statistics for group]' '(--human)-h[human readable device utilization report]' '--human[print sizes in human readable format]' + '--pretty[make report easier to read by a human]' '-j[display persistent device name]:name type:(ID LABEL PATH UUID)' '(-m)-k[display statistics in kB/s]' '(-k)-m[display statistics in MB/s]' diff --git a/Completion/Unix/Command/_java b/Completion/Unix/Command/_java index ee0441d97..ff6e82645 100644 --- a/Completion/Unix/Command/_java +++ b/Completion/Unix/Command/_java @@ -24,18 +24,24 @@ javac) '(-cp -classpath)'{-cp,-classpath}'[specify where to find user class files]:class path:->classpath' \ '-sourcepath[specify where to find input source files]:source path:->sourcepath' \ '-bootclasspath[override location of bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ + '-endorseddirs[override location of endorsed standards path]:path:->extdirs' \ '-extdirs[override location of installed extensions]:extensions directories:->extdirs' \ '-d[specify where to place generated class files]:directory:_files -/' \ '-encoding[specify character encoding used by source files]:encoding:->encoding' \ '-proc\:-[control annotation processing]:annotation processing:(none only)' \ '-processor[specify annotation processors to run]:class:_files' \ '-processorpath[specify where to find annotation processors]:directory:_directories' \ + '-parameters[generate metadata for reflection on method parameters]' \ '-s[specify directory for generated source files]:directory:_directories' \ + '-h[specify where to place generated native header files]:directory:_directories' \ '-source[provide source compatibility with specified release]:release:(1.{2..8} {5..8})' \ '-target[specify VM version]:release:(1.{1..5})' \ + '-profile[check that API used is available in the specified profile]:profile' \ '(-)-help[print a synopsis of standard options]' \ '(-)-version[print version information]' \ '(-)-X[display information about non-standard options]' \ + '-J-[pass flag directly to the runtime system]:flag' \ + '-Werror[terminate compilation if warnings occur]' \ '*:java source file:_files -g \*.java\(-.\)' && return 0 ;; @@ -75,6 +81,7 @@ java) '(- 1)-'{\?,help}'[print help message]' \ '(- 1)-X-[non-standard java option]:option' \ '(- 1)-jar[specify a program encapsulated as jar]:jar:_files -g \*.jar\(-.\)' \ + '-splash\:-[show splash screen with specified image]:image:_files' \ '(-):class:_java_class -m main ${(kv)opt_args[(i)(-classpath|-cp)]}' \ '*::args:= _normal' \ && return 0 @@ -90,15 +97,20 @@ javadoc) '-help[print help message]' \ '-doclet[specify a doclet]:doclet:_java_class -t doclet ${(kv)opt_args[(i)-classpath]}' \ '-docletpath[specify a path to search doclet]:doclet path:->docletpath' \ - '-1.1[Javadoc 1.1 compatible output]' \ '-sourcepath[specify path for source files]:source path:->sourcepath' \ - '-classpath[specify path for user class files]:class path:->classpath' \ + {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ + '-exclude[specify a list of packages to exclude]:package list' \ + '-subpackages[specify subpackages to recursively load]:subpackage list' \ + '-breakiterator[compute first sentence with BreakIterator]' \ '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ + '-source[provide source compatibility with specified release]:release' \ '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ '-verbose[print verbose messages]' \ '-locale[specify locale]:language_country_variant:' \ '-encoding[specify character encoding for source files]:encoding:->encoding' \ + "-quiet[don't display status messages]" \ '-J-[specify java option]:java option:' \ + '-X[print a synopsis of nonstandard options and exit]' \ '-d[specify destination directory]:destination directory:_files -/' \ '-use[display pages for use]' \ '-version[include @version text]' \ @@ -111,15 +123,27 @@ javadoc) '-bottom[specify bottom text]:bottom text:' \ '-link[generate a link to external reference classes]:document URL:' \ '-linkoffline[generate a link for external reference class names]:document URL::package list URL:' \ + '-excludedocfilessubdir[exclude any doc-files subdirectories with given name]:name:_directories' \ '-group[generate tables for each group]:group heading::package patterns:' \ - '-nodeprecated[do not document deprecated API]' \ - '-nodeprecatedlist[do not generate deprecated API list]' \ - '-notree[do not generate class and interface hierarchy]' \ - '-noindex[do not generate index]' \ - '-nohelp[do not generate help link]' \ - '-nonavbar[do not generate navigation bar]' \ + "-nodeprecated[don't include @deprecated information]" \ + '-noqualifier[exclude the list of qualifiers from the output]:qualifier list' \ + "-nosince[don't include @since information]" \ + "-notimestamp[don't include hidden time stamp]" \ + "-nodeprecatedlist[don't generate deprecated API list]" \ + "-notree[don't generate class and interface hierarchy]" \ + "-noindex[don't generate index]" \ + "-nohelp[don't generate help link]" \ + "-nonavbar[don't generate navigation bar]" \ + '-serialwarn[generate warning about @serial tag]' \ + '*-tag[specify single argument custom tag]:tag' \ + '-taglet[specify fully qualified name of Taglet to register]:taglet' \ + '-tagletpath[specify path to Taglets]:path:_directories' \ + '-charset[specify charset of generated documentation]:charset:->encoding' \ '-helpfile[specify alternative help link]:helpfile path/filename:' \ - '-stylesheet[specify alternative HTML style sheet]:stylesheet path/filename:' \ + '-linksource[generate source in HTML]' \ + '-sourcetab[specify the number of spaces each tab takes up in the source]:spaces' \ + '-keywords[include HTML meta tags with package, class and member info]' \ + '-stylesheetfile[specify alternative HTML style sheet]:stylesheet path/filename:_directories' \ '-docencoding[specify character encoding for output HTML files]:encoding:->encoding' \ '*:package name, source file or @list:->docsrc' && ret=0 ;; @@ -143,9 +167,11 @@ jar) 'f[specify archive file]' \ 'v[verbose mode]' \ '(e)m[specify manifest file]' \ + 'n[perform Pack200 normalization after creating a new archive]' \ '(m)e[specify class of for application entry point]' \ '0[store only without using ZIP compression]' \ - 'M[do not create manifest file]' \ + "M[don't create manifest file]" \ + "P[preserve leading / and .. components on file names]" \ 'i[generate index information for specified jar files]' && return else jar_cmd="${words[2]#-}" @@ -171,7 +197,7 @@ javah|javah_g) '-help[print help message]' \ '-version[print version]' \ '-jni[JNI-style native method function prototypes]' \ - '-classpath[specify path for user class files]:class path:->classpath' \ + {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ '-old[generate old JDK1.0-style header files]' \ '-force[force output]' \ @@ -182,17 +208,19 @@ javah|javah_g) javap) _arguments -C \ '-help[print help message]' \ + '-version[print version information]' \ + {-v,-verbose}'[print additional information]' \ '-l[line and local variable tables]' \ - '-b[backward compatible to JDK1.1]' \ - '-public[only public classes and members]' \ - '-protected[only protected and public classes and members]' \ - '-package[only package, protected and public classes and members (default)]' \ - '-private[all classes and members]' \ + '(-protected -package -p -private)-public[show only public classes and members]' \ + '(-public -package -p -private)-protected[show only protected/public classes and members]' \ + '(-public -protected -p -private)-package[show only package/protected/public classes and members (default)]' \ + '(-public -package -protected -p -private)'{-p,-private}'[show all classes and members]' \ '-J-[specify java option]:java option:' \ - '-s[internal type signatures]' \ '-c[disassemble code]' \ - '-verbose[stack size, number of locals and args for methods]' \ - '-classpath[specify path for user class files]:class path:->classpath' \ + '-s[print internal type signatures]' \ + '-sysinfo[show system info (path, size, date, MD5 hash) of class being processed]' \ + '-constants[show final constants]' \ + {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ '*:class:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 diff --git a/Completion/Unix/Command/_less b/Completion/Unix/Command/_less index cb71314a6..0b474b991 100644 --- a/Completion/Unix/Command/_less +++ b/Completion/Unix/Command/_less @@ -1,7 +1,7 @@ #compdef less -value-,LESS,-default- -value-,LESSCHARSET,-default- -local curcontext="$curcontext" state line expl ret=1 -local -a files +local curcontext="$curcontext" fgbg=foreground ret=1 +local -a state line expl files basic suf case $service in *LESSCHARSET*) @@ -37,15 +37,15 @@ _arguments -S -s -A "[-+]*" \ '(-b --buffers)'{-b+,--buffers=}'[specify amount of buffer space used for each file]:buffer space (kilobytes)' \ '(-B --auto-buffers)'{-B,--auto-buffers}"[don't automatically allocate buffers for pipes]" \ '(-C --CLEAR-SCREEN -c --clear-screen)'{-c,--clear-screen}'[repaint screen instead of scrolling]' \ - '(-c --clear-screen -C --CLEAR-SCREEN)'{-C,--CLEAR-SCREEN}'[clear screen before repaints]' \ + '!(-c --clear-screen)'{-C,--CLEAR-SCREEN} \ '(-d --dumb)'{-d,--dumb}'[suppress error message if terminal is dumb]' \ + '*-D+[set screen colors]: :->colors' \ '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-e,--quit-at-eof}'[exit the second time end-of-file is reached]' \ '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-E,--QUIT-AT-EOF}'[exit when end-of-file is reached]' \ '(-f --force)'{-f,--force}'[force opening of non-regular files]' \ '(-F --quit-if-one-screen)'{-F,--quit-if-one-screen}'[exit if entire file fits on first screen]' \ '(-G --HILITE-SEARCH -g --hilite-search)'{-g,--hilite-search}'[highlight only one match for searches]' \ '(-g --hilite-search -G --HILITE-SEARCH)'{-G,--HILITE-SEARCH}'[disable highlighting of search matches]' \ - '--old-bot[revert to the old bottom of screen behavior]' \ '(-h --max-back-scroll)'{-h+,--max-back-scroll=}'[specify backward scroll limit]:backward scroll limit (lines)' \ '(-I --IGNORE-CASE -i --ignore-case)'{-i,--ignore-case}'[ignore case in searches that lack uppercase]' \ '(-i --ignore-case -I --IGNORE-CASE)'{-I,--IGNORE-CASE}'[ignore case in all searches]' \ @@ -83,18 +83,49 @@ _arguments -S -s -A "[-+]*" \ '(-\" --quotes)'{-\"+,--quotes=}'[change quoting character]:quoting characters' \ '(-~ --tilde)'{-~,--tilde}"[don't display tildes after end of file]" \ '(-\# --shift)'{-\#+,--shift=}"[specify amount to move when scrolling horizontally]:number" \ + '--file-size[automatically determine the size of the input file]' \ + '--incsearch[search file as each pattern character is typed in]' \ + '--line-num-width=[set the width of line number field]:width [7]' \ '--follow-name[the F command changes file if the input file is renamed]' \ '--mouse[enable mouse input]' \ '--no-histdups[remove duplicates from command history]' \ '--rscroll=[set the character used to mark truncated lines]:character [>]' \ '--save-marks[retain marks across invocations of less]' \ + '--status-col-width=[set the width of the -J status column]:width [2]' \ '--use-backslash[subsequent options use backslash as escape char]' \ + '--use-color[enable colored text]' \ '--wheel-lines=[specify lines to move for each click of the mouse wheel]:lines' \ "$files[@]" && ret=0 if [[ -n "$state" ]]; then case $state in + colors) + if compset -P 1 \?; then + [[ $IPREFIX[-1] != [a-z] ]] || compset -P 1 + || _describe 'color application' '( +:add\ to\ existing\ attribute )' + suf=( -S '' ) + compset -P 1 '([a-zA-Z]|*.)' && fgbg=background && suf=() + basic=( B:blue C:cyan G:green K:black M:magenta R:red W:white Y:yellow ) + _describe -t colors "$fgbg color" \ + "( -:default ${(j. .)${(@)basic/:/:light\ }} ${(Lj. .)basic} )" "$suf[@]" && ret=0 + else + _describe 'text' '( + B:binary\ characters + C:control\ characters + E:errors\ and\ informational\ messages + M:mark\ letters\ in\ the\ status\ column + N:line\ numbers\ enabled\ via\ the\ -N\ option + P:prompts + R:the\ rscroll\ character + S:search\ results + W:the\ highlight\ enabled\ via\ the\ -w\ option + d:bold\ text + k:blinking\ text + s:standout\ text + u:underlined\ text + )' -S '' && ret=0 + fi + ;; prompts) if compset -p 1; then _message -e prompt diff --git a/Completion/Unix/Command/_mtr b/Completion/Unix/Command/_mtr index 806e344d1..9a73cfbd4 100644 --- a/Completion/Unix/Command/_mtr +++ b/Completion/Unix/Command/_mtr @@ -4,6 +4,7 @@ _arguments -s -S \ '(H -F --filename)'{-F,--filename}'[read hostnames from a file]' \ '(H -6)-4[use IPv4 only]' \ '(H -4)-6[use IPv6 only]' \ + '(H -I --interface)'{-I+,--interface=}'[use named network interface]: :_net_interfaces' \ '(H -a --address)'{-a+,--address=}'[bind outgoing packets to specific interface]:source IP:_hosts' \ '(H -f --first-ttl)'{-f+,--first-ttl=}'[specify TTL to start]:TTL [1]' \ '(H -m --max-ttl)'{-m+,--max-ttl=}'[specify maximum number of hops to probe]:hops [30]' \ @@ -17,7 +18,6 @@ _arguments -s -S \ '(H -Q --tos)'{-Q+,--tos=}'[specify type of service for IP header]:tos (0-255)' \ '(H -e --mpls)'{-e,--mpls}'[display ICMP MPLS information]' \ '(H -Z --timeout)'{-Z+,--timeout=}'[specify how long to keep probe sockets open before giving up on the connection]:timeout (seconds)' \ - '(H -M --mark)'{-M+,--mark=}'[mark each sent packet]:mark' \ '(H -r --report)'{-r,--report}'[report mode]' \ '(H -w --report-wide)'{-w,--report-wide}"[wide report mode\: don't truncate hostnames]" \ '(H -c --report-cycles)'{-c+,--report-cycles=}'[report cycles]:number of pings' \ diff --git a/Completion/Unix/Command/_nm b/Completion/Unix/Command/_nm index 2f608c5fc..79f537ac6 100644 --- a/Completion/Unix/Command/_nm +++ b/Completion/Unix/Command/_nm @@ -62,7 +62,8 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu '!(--no-recurse-limit)--recurse-limit' '--no-recurse-limit[disable demangling recursion limit]' '(-f --format -P)-f+[specify output format]:format:(bsd sysv posix)' - '(-C --no-demangle)--demangle=-[decode symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' + '(-C --no-demangle)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' + '--ifunc-chars=[specify characters to use for indirect function symbols]:characters for global/local indirect function symbols [ii]' '--plugin[load specified plugin]:plugin' '--special-syms[include special symbols in the output]' '--synthetic[display synthetic symbols as well]' diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump index 5152e6b6e..e2dde7e4c 100644 --- a/Completion/Unix/Command/_objdump +++ b/Completion/Unix/Command/_objdump @@ -67,7 +67,8 @@ case $variant in '(-z --disassemble-zeroes)'{-z,--disassemble-zeroes}"[don't skip blocks of zeroes when disassembling]" '--start-address=[only process data whose address is >= ADDR]:address' - '--stop-address=[only process data whose address is <= ADDR]:address' + '--stop-address=[only process data whose address is < ADDR]:address' + "--no-addresses[don't print address alongside disassembly]" '--prefix-addresses[print complete address alongside disassembly]' '(--show-raw-insn --no-show-raw-insn)'--{,no-}show-raw-insn'[display hex alongside symbolic disassembly]' '--insn-width=[display specified number of bytes on a single line with -d]:width (bytes)' @@ -80,6 +81,7 @@ case $variant in '--dwarf-start=[display DIEs at specified or deeper depth]:depth' '--dwarf-check[perform additional dwarf internal consistency checks]' '--ctf-parent=[use specified section as the CTF parent]:section' + '--visualize-jumps=-[visualize jumps by drawing ASCII art lines]::color:(color extended-color off)' ) ;; elfutils) @@ -165,6 +167,7 @@ case "$state" in _values -s "" "dwarf section" \ "l[rawline]" "L[decodedline]" "i[info]" "a[abbrev]" "p[pubnames]" \ "r[aranges]" "m[macro]" "f[frames]" "F[frames-interp]" "s[str]" \ + 'O[str-offsets]' \ "o[loc]" "R[ranges]" "t[pubtypes]" "U[trace_info]" "u[trace_abbrev]" \ "T[trace_aranges]" "g[gdb_index]" "A[addr]" "c[cu_index]" "k[links]" \ "K[follow-links]" && ret=0 @@ -172,7 +175,7 @@ case "$state" in dwarf-names) _sequence _wanted dwarf-sections expl "dwarf section" compadd - \ rawline decodedline info abbrev pubnames aranges macro frames \ - frames-interp str loc Ranges pubtypes gdb_index trace_info \ + frames-interp str str-offsets loc Ranges pubtypes gdb_index trace_info \ trace_abbrev trace_aranges addr cu_index links follow-links && ret=0 ;; bfdnames) diff --git a/Completion/Unix/Command/_patchutils b/Completion/Unix/Command/_patchutils index 50ea3e4c4..a5f6441b1 100644 --- a/Completion/Unix/Command/_patchutils +++ b/Completion/Unix/Command/_patchutils @@ -85,6 +85,7 @@ case $service in '(-H --with-filename -h --no-filename)'{-h,--no-filename}"[don't print the name of the patch file containing each patch]" '(-f --file)'{-f+,--file=}'[read regular expressions from file]:file:_files' '--output-matching=[display the matching hunk- or file-level diffs]:level:(hunk file)' + '--only-match=[restrict regex to matching removals, additions or modifications]:limit:(rem removals add additions mod modifications all)' ) ;; splitdiff) diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index 38b1aebd8..afd2fe54b 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -31,6 +31,7 @@ arguments=( '(-M)-N+[extract name list from specified system]:system file:_files' '(-o -n --oldest --newest)'{-n,--newest}'[match newest process]' '(-o -n --oldest --newest)'{-o,--oldest}'[match oldest process]' + '(-O --older)'{-O+,--older=}'[select where older than specified age]:age (seconds)' '(-P --parent)'{-P+,--parent=}'[match only on specified parent process IDs]: :->ppid' '(-l)-q[suppress normal output]' '(-r --runstates)'{-r+,--runstates}'[match runstates]:run state:compadd -S "" D I R S T t W X Z' @@ -62,8 +63,8 @@ arguments=( case $OSTYPE in linux*) # Note: We deliberately exclude -v but not --inverse from pkill - pgopts=acdFfGghLlnoPrstUuVvwx- - pkopts=ceFfGghLnoPstUuVx- + pgopts=acdFfGghLlnoOPrstUuVvwx- + pkopts=ceFfGghLnoOPstUuVx- arguments=( ${arguments:#((#s)|*\))(\*|)-[acl]*} '(-c --count)'{-c,--count}'[display count of matching processes]' diff --git a/Completion/Unix/Command/_rar b/Completion/Unix/Command/_rar index 68982be60..d1d381974 100644 --- a/Completion/Unix/Command/_rar +++ b/Completion/Unix/Command/_rar @@ -4,6 +4,8 @@ local common expl common=( '-ad[append archive name to destination path]' + '-ad1[create a separate folder for files unpacked from each archive]' + "-ad2[like -ad1 but use archives' own folders]" '-ap[set path inside archive]' '-av\-[disable authenticity verification check]' '-c\-[disable comments show]' @@ -13,6 +15,7 @@ common=( '-dh[open shared files]' '-ep[exclude paths from name]' '-f[freshen files]' + '-idn[hide archived names]' '-idp[disable percentage display]' '-ierr[send all messages to stderr]' '-inul[disable all messages]' @@ -27,6 +30,7 @@ common=( '-tb+[process files modified before a date]:date (YYYYMMDDHHMMSS)' '-tn+[process files newer than a specified time]:time' '-to+[process files older than a specified time]:time' + '-ts-[save or restore time]:time:((m\:modification c\:change a\:access p\:preserve))' '-u[update files]' '-v[create volumes with size autodetection or list all volumes]' '-ver[file version control]' diff --git a/Completion/Unix/Command/_readelf b/Completion/Unix/Command/_readelf index edabc3da1..fc0fb7ce1 100644 --- a/Completion/Unix/Command/_readelf +++ b/Completion/Unix/Command/_readelf @@ -18,7 +18,7 @@ args=( '(-c --archive-index)'{-c,--archive-index}'[show symbol/file index in an archive]' \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)" \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)" - '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o R t U u T g A c k K)' + '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o O R t U u T g A c k K)' '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links)' '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]' '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]' @@ -50,6 +50,12 @@ case $variant in ;| binutils) args+=( + '!(-C --demangle)--no-demangle' + '(--demangle)-C[decode symbol names]' + '(-C)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat)' + '!(--no-recurse-limit)--recurse-limit' + '--no-recurse-limit[disable demangling recursion limit]' + '(-L --lint --enable-checks)'{-L,--lint,--enable-checks}'[display warning messages for possible problems]' \*{-R,--relocated-dump=}"[dump contents of specified section as relocated bytes]:section:($sections)" "--dwarf-depth=[don't show DIEs at greater than specified depth]:depth" '--dwarf-start=[show DIEs starting at specified depth or deeper]:depth' @@ -57,6 +63,7 @@ case $variant in '--ctf-parent=[use specified section as the CTF parent]:section' '--ctf-symbols=[use specified section as the CTF external symbol table]:section' '--ctf-strings=[use specified section as the CTF external string table]:section' + '(-T --silent-truncation)'{-T,--silent-truncation}"[if a symbol name is truncated, don't add ... suffix]" ) ;; elfutils) diff --git a/Completion/Unix/Command/_ri b/Completion/Unix/Command/_ri index 070f46ac2..4d5a72985 100644 --- a/Completion/Unix/Command/_ri +++ b/Completion/Unix/Command/_ri @@ -6,26 +6,29 @@ typeset -A opt_args _arguments -C \ '(- *)'{-h,--help}'[print help information and exit]' \ '(- *)'{-v,--version}'[display the version of ri]' \ - '*'{-d,--doc-dir}'[directory to search for documentation]:ri doc directory:_files -/' \ - '(-f --fmt --format)'{-f,--fmt,--format}'[format to use when displaying output]:output format:(ansi bs html plain simple)' \ + '*'{-d+,--doc-dir=}'[directory to search for documentation]:ri doc directory:_directories' \ + '(-f --format)'{-f+,--format=}'[format to use when displaying output]:output format [bs]:(ansi bs markdown rdoc)' \ '(-T --no-pager)'{-T,--no-pager}'[send output directly to stdout]' \ - '(-i, --interactive)'{-i,--interactive}'[interactive mode]' \ + '(-i --interactive)'{-i,--interactive}'[interactive mode]' \ + '(-a --all)'{-a,--all}'[show all documentation for a class or module]' \ + '(-l --list)'{-l,--list}'[list classes ri knows about]' \ '--list-doc-dirs[list the directories from which ri will source documentation]' \ - '(-w --width)'{-w,--width}'[set the width of the output]:output width:' \ - '--no-standard-docs[do not include documentation from the Ruby standard library, site_lib, installed gems, or ~/.rdoc]' \ - '(--no-use-cache --use-cache)--'{no-,}'use-cache[whether or not to use ri'\''s cache]' \ - '(--no-system --system)--'{no-,}'system[include documentation from Ruby'\''s standard library]' \ + '(-w --width)'{-w+,--width=}'[set the width of the output]:output width [72]' \ + '(-l --list)--server=-[run RDoc server on the given port]::port [8214]:_ports' \ + "--no-standard-docs[don't include documentation from the Ruby standard library, site_lib, installed gems, or ~/.rdoc]" \ + '(--no-use-cache --use-cache)--'{no-,}"use-cache[whether or not to use ri's cache]" \ + '(--no-system --system)--'{no-,}"system[include documentation from Ruby's standard library]" \ '(--no-site --site)--'{no-,}'site[include documentation from libraries installed in site_lib]' \ '(--no-gems --gems)--'{no-,}'gems[include documentation from RubyGems]' \ '(--no-home --home)--'{no-,}'home[include documentation stored in ~/.rdoc]' \ - '*:ri name:->ri-name' && ret=0 + '--profile[run with the Ruby profiler]' \ + '--dump=[dump data from an ri cache or data file]:cache:_files' \ + '*:ri name:->ri-name' && return if [[ "$state" = ri-name ]]; then local -a ri_dirs ri_ext ri_names ri_wants ri_names local class_dir esc_name dir curtag tag descr expl - ret=1 - if "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e 1 >/dev/null 2>&1; then # Old-style Ruby 1.8.x RI ri_dirs=( ${(f)"$(_call_program ri-names "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e '"o = RI::Options.instance; o.parse(ARGV); o.path.each { |p| puts p }"' -- ${(kv)opt_args[(I)-d|--doc-dir|--(system|site|gems|home)]})"} ) diff --git a/Completion/Unix/Command/_ruby b/Completion/Unix/Command/_ruby index a57bffcda..0e1f5dbc0 100644 --- a/Completion/Unix/Command/_ruby +++ b/Completion/Unix/Command/_ruby @@ -15,7 +15,7 @@ all=( common=( '*-I+[specify $LOAD_PATH directory (may be used more than once)]:library directory:_files -/' '-w[turn warnings on for your script]' - '-W-[set warning level]:warning level:((0\:silent 1\:medium 2\:verbose))' + '-W-[set warning level]:warning level:((0\:silent 1\:medium 2\:verbose \\\:deprecated \\\:experimental))' '(-)1:ruby script:_files -g "*.rb(-.)"' '*::script argument:= ->normal' ) @@ -35,7 +35,7 @@ opts=( '(-n)-p[assume loop like -n but print line also like sed]' '-s[enable some switch parsing for switches after script name]' '-S[look for the script using PATH environment variable]' - '-T-[turn on tainting checks]::taint level [1]:((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' + '!-T-[turn on tainting checks]::taint level [1]:((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' '(--verbose)-v[print version number, then turn on verbose mode]' '(-v)--verbose[turn on verbose mode and disable script from stdin]' '-x-[strip off text before #!ruby line and perhaps cd to directory]:directory:_files -/' @@ -49,11 +49,11 @@ opts=( '--jit[enable jit with default options]' '--jit-warnings[enable printing JIT warnings]' '--jit-debug[enable JIT debugging (very slow)]' - '--jit-wait[wait until JIT compilation is finished every time (for testing)]' + '--jit-wait[wait until JIT compilation finishes every time (for testing)]' '--jit-save-temps[save JIT temporary files]' '--jit-verbose=-[print JIT logs of level num or less to stderr]:maximum log level [0]' - '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [1000]' - '--jit-min-calls=-[specify number of calls to trigger JIT]:calls [5]' + '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [100]' + '--jit-min-calls=-[specify number of calls to trigger JIT]:calls [10000]' ) irb=( diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script index ac3bf3973..7a3960be0 100644 --- a/Completion/Unix/Command/_script +++ b/Completion/Unix/Command/_script @@ -4,14 +4,19 @@ local args hlp="-h --help -V --version" if [[ $service = scriptreplay ]]; then _arguments -S -s \ - "(1 -t --timing $hlp)"{-t+,--timing=}'[specify file containing timing output]:timing file:_files' \ - "(2 -s --typescript $hlp)"{-s+,--typescript=}'[specify file containing terminal output]:typescript file:_files' \ + "(1 -t --timing -T --log-timing $hlp)"{-t+,-T+,--timing=,--log-timing=}'[specify file containing timing output]:timing file:_files' \ + "(-I --log-in -B --log-io $hlp)"{-I+,--log-in=}'[specify file containing terminal input]:file:_files' \ + "(2 -s --typescript -B --log-io $hlp)"{-s+,-O+,--typescript=,--log-out=}'[specify file containing terminal output]:typescript file:_files' \ + "(-B --log-io -I --log-in -s -O --typescript --log-out $hlp)"{-B,--log-io}'[specify file containing terminal input and output]' \ + "($hlp)--summary[display overview about recorded session and exit]" \ "(3 -d --divisor $hlp)"{-d+,--divisor=}'[speed up replay]:factor' \ "(-m --maxdelay $hlp)"{-m+,--maxdelay=}'[set maximum delay between updates]:delay (seconds)' \ + "(-x --stream $hlp)"{-x+,--stream=}'[specify stream type]:name:(out in signal or info)' \ + "(-c --cr-mode $hlp)"{-c+,--cr-mode=}'[specify CR char mode]:mode:(auto never always)' \ '(- *)'{-h,--help}'[display help information]' \ '(- *)'{-V,--version}'[display version information]' \ "(-t --timing $hlp):timing file:_files" \ - "(-s --typescript $hlp):typescript file:_files" \ + "(-s --typescript -O --log-out $hlp):typescript file:_files" \ "(-d --divisor $hlp): :_guard '[0-9.]#' 'timing divisor'" return fi @@ -19,12 +24,18 @@ fi case $OSTYPE in linux*) args=( -S - "(-a --append $hlp)"{-a,--append}'[append output]' + "(-I --log-in $hlp)"{-I,--log-in}'[log stdin to file]:file:_files' + "(-O --log-out $hlp)"{-O,--log-out}'[log stdout to file]:file:_files' + "(-B --log-io $hlp)"{-B,--log-io}'[log stdin and stdout to file]:file:_files' + "(-T --log-timing -t --timing $hlp)"{-T+,--log-timing=}'[log timing information to file]:file:_files' + "(-m --logging-format $hlp)"{-m+,--logging-format=}'[specify log file format]:format:(classic advanced)' + "(-a --append $hlp)"{-a,--append}'[append to the log file]' "(-c --command $hlp)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring' "(-e --return $hlp)"{-e,--return}'[return exit status of the child process]' "(-f --flush $hlp)"{-f,--flush}'[flush output after each write]' + "(-E --echo $hlp)"{-E+,--echo=}'[echo input]:when:(auto always never)' "($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)' + "(-o --output-limit $hlp)"{-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/_sqlite b/Completion/Unix/Command/_sqlite index 0f03c61c1..7ef3c6daa 100644 --- a/Completion/Unix/Command/_sqlite +++ b/Completion/Unix/Command/_sqlite @@ -22,7 +22,7 @@ options+=( ) output_modes=( column HTML line list ) -(( $+sqlite3 )) && output_modes+=( ascii csv quote ) +(( $+sqlite3 )) && output_modes+=( ascii box csv json markdown quote table tabs ) exclusive=( $^dashes-${^output_modes:l} ) for display_opt in $output_modes ; do # finagle the description to match the way SQLite's -help formats them @@ -54,6 +54,7 @@ options+=( $^dashes'-memtrace[trace all memory allocations and deallocations]' $^dashes'-mmap[set default mmap size]:size' $^dashes'-newline[set output row separator]:separator [\n]' + $^dashes'-nofollow[refuse to open symbolic links to database files]' $^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots' $^dashes'-readonly[open the database read-only]' $^dashes'-stats[print memory stats before each finalize]' diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip index e7f3418d7..3e1a6b698 100644 --- a/Completion/Unix/Command/_strip +++ b/Completion/Unix/Command/_strip @@ -32,6 +32,7 @@ if _pick_variant gnu=GNU solaris --version; then "--no-merge-notes[don't attempt to remove redundant notes]" '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name' '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name' + "*--keep-section=[don't strip given section]:section" '(*)-o+[output file]:output file:_files' '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]' '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]' diff --git a/Completion/Unix/Command/_sudo b/Completion/Unix/Command/_sudo index e3d12d72f..29e5e6d75 100644 --- a/Completion/Unix/Command/_sudo +++ b/Completion/Unix/Command/_sudo @@ -14,7 +14,9 @@ done args=( '(-A --askpass)'{-A,--askpass}'[use a helper program for password prompting]' + '(-B --bell)'{-B,--bell}'[ring bell when prompting]' '(-C --close-from)'{-C+,--close-from=}'[close file descriptors]:lowest fd to close' + '(-D --chdir)'{-D+,--chdir=}'[change the working directory before running command]:directory:_directories' '(-g --group)'{-g+,--group=}'[run command as the specified group name or ID]:group:_groups' '(-)'{-h,--help}'[display help message and exit]' '(-h --host)'{-h+,--host=}'[run command on host]:host:_hosts' @@ -23,6 +25,7 @@ args=( \*{-l,--list}"[list user's privileges or check a specific command]" '(-n --non-interactive)'{-n,--non-interactive}'[non-interactive mode, no prompts are used]' '(-p --prompt)'{-p+,--prompt=}'[use the specified password prompt]:prompt' + '(-R --chroot)'{-R+,--chroot=}'[change the root directory before running command]:directory:_directories' '(-r --role)'{-r+,--role=}'[create SELinux security context with specified role]: :_selinux_roles' '(-S --stdin)'{-S,--stdin}'[read password from standard input]' '(-t --type)'{-t+,--type=}'[create SELinux security context with specified type]: :_selinux_types' diff --git a/Completion/Unix/Command/_tiff b/Completion/Unix/Command/_tiff index da55b541c..ef12777de 100644 --- a/Completion/Unix/Command/_tiff +++ b/Completion/Unix/Command/_tiff @@ -59,6 +59,7 @@ tiff2pdf) '-s+[set document subject, overrides image image description default]:subject' \ '-k+[set document keywords]:keywords' \ '-b[set PDF "Interpolate" user preference]' \ + '-m+[set memory allocation limit]:limit (MiB)' \ '(- :)-h[display usage information]' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' ;; @@ -83,6 +84,7 @@ tiff2ps) '-i+[enable/disable (Nz/0) pixel interpolation]:state [enabled]:((0\:disable 1\:enable))' \ '-l+[set the left margin]:margin (inches)' \ '-m[use "imagemask" operator instead of "image"]' \ + '-M+[set memory allocation limit]:limit (MiB)' \ '-o+[set initial TIFF directory (file offset)]:file offset (bytes)' \ '(-e)-p[generate non-Encapsulated PostScript]' \ '-O+[specify output file]:output file:_files -g "*.(#i)(|e)ps(-.)"' \ @@ -121,6 +123,7 @@ tiffcp) '-i[ignore read errors]' \ '-b+[specify bias (dark) monochrome image to be subtracted from all others]:file:_files' \ '-,=-[specify substitute character for image indices]:character [,]' \ + '-m+[set memory allocation limit]:limit (MiB)' \ '-r+[specify rows per strip]:rows per strip' \ '-w+[specify output tile width]:output tile width' \ '-l+[specify output tile length]:output tile length' \ diff --git a/Completion/Unix/Command/_tmux b/Completion/Unix/Command/_tmux index 284a325e5..844af58fc 100644 --- a/Completion/Unix/Command/_tmux +++ b/Completion/Unix/Command/_tmux @@ -127,6 +127,7 @@ _tmux_aliasmap=( confirm confirm-before menu display-menu display display-message + popup display-popup # buffers clearhist clear-history @@ -168,6 +169,7 @@ _tmux-attach-session() { _arguments -s \ '-c+[specify working directory for the session]:directory:_directories' \ '-d[detach other clients attached to target session]' \ + '-f+[set client flags]: :_tmux_client_flags' \ '-r[put the client into read-only mode]' \ '-t+[specify target session]:target session: __tmux-sessions-separately' \ "-E[don't apply update-environment option]" \ @@ -188,6 +190,8 @@ _tmux-bind-key() { _tmux-break-pane() { [[ -n ${tmux_describe} ]] && print "break a pane from an existing into a new window" && return _arguments -s \ + '(-b)-a[move window to next index after]' \ + '(-a)-b[move window to next index before]' \ "-d[don't make the new window become the active one]" \ '-F+[specify output format]:format:__tmux-formats' \ '-P[print information of new window after it has been created]' \ @@ -221,6 +225,7 @@ _tmux-choose-buffer() { '-r[reverse sort order]' \ '-F+[specify format for each list item]:format:__tmux-formats' \ '-f+[filter items]:filter format:__tmux-formats' \ + '-K+[specify format for each shortcut key]:format:__tmux-formats' \ '-O+[initial sort order]:order:(time name size)' \ '-t+[specify target window]:session:__tmux-windows' \ '*:::template:= _tmux' @@ -234,6 +239,7 @@ _tmux-choose-client() { '-r[reverse sort order]' \ '-F+[specify format for each list item]:format:__tmux-formats' \ '-f+[filter items]:filter format:__tmux-formats' \ + '-K+[specify format for each shortcut key]:format:__tmux-formats' \ '-O+[initial sort order]:order:(time name size)' \ '-t+[specify target window]:session:__tmux-windows' \ '*:::template:= _tmux' @@ -248,6 +254,7 @@ _tmux-choose-tree() { '-r[reverse sort order]' \ '-F+[specify format for each list item]:format:__tmux-formats' \ '-f+[filter items]:filter format:__tmux-formats' \ + '-K+[specify format for each shortcut key]:format:__tmux-formats' \ '-O+[initial sort order]:order:(time name size)' \ '-s[choose among sessions]' \ '-t+[specify target window]:session:__tmux-windows' \ @@ -275,6 +282,8 @@ _tmux-command-prompt() { '-I+[specify list of initial inputs]:initial-text (comma-separated list)' \ '-p+[specify list of prompts]:prompts (comma-separated list)' \ '-t+[specify target client]:client:__tmux-clients' \ + '(-W)-T[prompt is for a target - tab complete as appropriate]' \ + '(-T)-W[prompt is for a window - tab complete as appropriate]' \ '*:::template:= _tmux' } @@ -289,6 +298,7 @@ _tmux-confirm-before() { _tmux-copy-mode() { [[ -n ${tmux_describe} ]] && print "enter copy mode" && return _arguments -s \ + '-s+[specify source pane]:pane:__tmux-panes' \ '-t+[specify target pane]:pane:__tmux-panes' \ '-e[scrolling to the bottom should exit copy mode]' \ '-H[hide the position indicator in the top right]' \ @@ -297,6 +307,16 @@ _tmux-copy-mode() { '-M[begin a mouse drag]' } +_tmux-customize-mode() { + [[ -n ${tmux_describe} ]] && print "enter customize mode" && return + _arguments -s \ + '-F+[specify format for each item in the tree]:format:__tmux-formats' \ + '-f+[specify initial filter]:filter:__tmux-formats' \ + '-N[start without the option information]' \ + '-t+[specify target pane]:pane:__tmux-panes' \ + '-Z[zoom the pane]' +} + _tmux-delete-buffer() { [[ -n ${tmux_describe} ]] && print "delete a paste buffer" && return _arguments '-b+[specify target buffer name]:buffer:__tmux-buffers' @@ -318,6 +338,7 @@ _tmux-display-menu() { local -a state line expl _arguments -C -s -S -A "-*" \ '-c+[specify target client]:client:__tmux-clients' \ + "-O[don't close menu if mouse is released without making a selection]" \ '-t+[specify target pane]:pane:__tmux-panes' \ '-T+[specify title]:title' \ '-x+[specify horizontal position]: : _alternative "columns\: \:_guard \[0-9\]\# column" "positions\:position\:((R\:right P\:bottom M\:mouse W\:window))"' \ @@ -326,7 +347,7 @@ _tmux-display-menu() { if [[ -n $state ]]; then case $(( CURRENT % 3 )) in - 1) _message -e options 'menu option' ;; + 1) _message -e menu-options 'menu option' ;; 2) _message -e keys 'shortcut key' ;; 0) compset -q @@ -345,7 +366,9 @@ _tmux-display-message() { _arguments -s -S -A "-*" \ '(-p -F :)-a[list the format variables and their values]' \ '-I[forward any input read from stdin to the target pane]' \ + '-N[ignore key presses and only close after the delay]' \ '-c+[specify target client]:client:__tmux-clients' \ + '-d+[time to display message]:delay (milliseconds)' \ '(-a)-p[print message to stdout]' \ '-t+[specify target pane]:pane:__tmux-panes' \ '(-a)-F+[specify output format]:format:__tmux-formats' \ @@ -362,9 +385,25 @@ _tmux-display-panes() { '*:::command:= _tmux' } +_tmux-display-popup() { + [[ -n ${tmux_describe} ]] && print "display a popup box over a pane" && return + _arguments -s \ + '-C[close any popup on the client]' \ + '-c+[specify target client]:client:__tmux-clients' \ + '-d+[specify working directory for the command]:directory:_directories' \ + '-E[close the popup when the command exits]' \ + '-w+[specify width]:width' \ + '-h+[specify height]:height' \ + '-t+[specify target pane]:pane:__tmux-panes' \ + '-x+[specify horizontal position]:position' \ + '-y+[specify vertical position]:position' \ + ':shell command:_cmdstring' +} + _tmux-find-window() { [[ -n ${tmux_describe} ]] && print "search for a pattern in windows" && return _arguments -s \ + '-i[ignore case]' \ '-r[use regular expression matching]' \ '-C[match visible contents]' \ '-N[match window name]' \ @@ -454,6 +493,8 @@ _tmux-last-window() { _tmux-link-window() { [[ -n ${tmux_describe} ]] && print "link a window to another" && return _arguments -s \ + '(-b)-a[move window to next index after destination window]' \ + '(-a)-b[move window to next index before destination window]' \ "-d[don't make the new window become the active one]" \ '-k[kill the target window if it exists]' \ '-s+[specify source window]:window:__tmux-windows' \ @@ -462,7 +503,9 @@ _tmux-link-window() { _tmux-list-buffers() { [[ -n ${tmux_describe} ]] && print "list paste buffers of a session" && return - _arguments '-F+[specify output format]:format:__tmux-formats' + _arguments \ + '-F+[specify output format]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' } _tmux-list-clients() { @@ -498,12 +541,15 @@ _tmux-list-panes() { _arguments -s $args \ '-a[list all panes the server possesses]' \ '-F+[specify output format]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' \ '-s[if specified, -t chooses a session]' } _tmux-list-sessions() { [[ -n ${tmux_describe} ]] && print "list sessions managed by server" && return - _arguments '-F+[specify output format]:format:__tmux-formats' + _arguments \ + '-F+[specify output format]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' } _tmux-list-windows() { @@ -511,6 +557,7 @@ _tmux-list-windows() { _arguments -s \ '-a[list all windows the tmux server possesses]' \ '-F[specify output format]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' \ '-t+[specify session]:session:__tmux-sessions' } @@ -518,6 +565,8 @@ _tmux-load-buffer() { [[ -n ${tmux_describe} ]] && print "load a file into a paste buffer" && return _arguments -A "-*" -S \ '-b+[specify target buffer name]:buffer:__tmux-buffers' \ + '-t+[specify target client]:client:__tmux-clients' \ + '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ '1:file:_files' } @@ -537,21 +586,14 @@ _tmux-lock-session() { } _tmux-move-pane() { - [[ -n ${tmux_describe} ]] && print "move a pane into a new space" && return - _arguments -s \ - '-b[join source pane left of or above target pane]' \ - "-d[don't make the new window become the active one]" \ - '-h[split horizontally]' \ - '-v[split vertically]' \ - "-l+[define new pane's size]:numeric value" \ - "-p+[define new pane's size in percent]:numeric value" \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify target pane]:pane:__tmux-panes' + _tmux-join-pane "$@" } _tmux-move-window() { [[ -n ${tmux_describe} ]] && print "move a window to another" && return _arguments -s \ + '(-b)-a[move window to next index after destination window]' \ + '(-a)-b[move window to next index before destination window]' \ "-d[don't make the new window become the active one]" \ '-k[kill the target window if it exists]' \ '-s+[specify source window]:window:__tmux-windows' \ @@ -567,7 +609,9 @@ _tmux-new-session() { "-d[don't attach new session to current terminal]" \ "-D[with -A, detach other clients attached to session]" \ "-E[don't apply update-environment option]" \ + '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ '-F+[specify output format]:format:__tmux-formats' \ + '-f+[specify client flags]: :_tmux_client_flags' \ '-n+[specify initial window name]:window name' \ '-P[print information about new session after it is created]' \ '-s+[name the session]:session name:__tmux-sessions' \ @@ -581,14 +625,16 @@ _tmux-new-session() { _tmux-new-window() { [[ -n ${tmux_describe} ]] && print "create a new window" && return _arguments -s -A "-*" -S \ - '-a[insert new window at next free index from -t]' \ + '(-b)-a[insert new window at next index after target]' \ + '(-a)-b[insert new window at next index before target]' \ '-c+[specify working directory for the session]:directory:_directories' \ '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - "-d[don't make the new window become the active one]" \ + "(-S)-d[don't make the new window become the active one]" \ '-F+[specify output format]:format:__tmux-formats' \ '-k[destroy it if the specified window exists]' \ '-n+[specify a window name]:window name' \ '-P[print information about new window after it is created]' \ + '(-d)-S[select window if name already exists]' \ '-t+[specify target window]:window:__tmux-windows' \ '*:: :_cmdambivalent' } @@ -640,11 +686,13 @@ _tmux-previous-window() { _tmux-refresh-client() { [[ -n ${tmux_describe} ]] && print "refresh a client" && return - _arguments -s -S -A "-*" \ + _arguments -s -A "-*" -S \ + '-B+[set a subscription to a format for a control mode client]:subscription' \ + '-A+[allow a control mode client to trigger actions on a pane]:pane:__tmux-panes -P% -S\:' \ '-C+[set the width and height of a control client]:width,height' \ '-c[reset so that the position follows the cursor]' \ '-D[move visible portion of window down]' \ - '-F+[specify flags]:flag:(no-output)' \ + '-f+[set client flags]:flag:_tmux_client_flags' \ '-L[move visible portion of window left]' \ '-l[request clipboard from the client and store it in a new paste buf using xterm(1) escape sequence]' \ "-S[only update the client's status bar]" \ @@ -677,6 +725,7 @@ _tmux-resize-pane() { '-R[resize to the right]' \ '-U[resize upward]' \ '-t+[specify target pane]:pane:__tmux-panes' \ + '-T[trim lines below the cursor position and moves lines out of the history to replace them]' \ '-x+[specify width]:width' \ '-y+[specify height]:height' \ '-Z[toggle zoom of pane]' \ @@ -729,10 +778,22 @@ _tmux-rotate-window() { _tmux-run-shell() { [[ -n ${tmux_describe} ]] && print "execute a command without creating a new window" && return - _arguments -s -A "-*" -S \ - '-b[run shell command in background]' \ + local curcontext="$curcontext" ret=1 + local -a state line expl + _arguments -C -s -A "-*" -S \ + '-b[run command in background]' \ + '(1)-C[run a tmux command]' \ + '-d+[specify delay before starting the command]:delay (seconds)' \ '-t+[specify target pane]:pane:__tmux-panes' \ - ':command:_cmdstring' + '(2)1:command:_cmdstring' \ + '2:tmux command:->tmux-commands' && ret=0 + + if [[ -n $state ]]; then + compset -q + words=( run "$words[@]" ) + (( CURRENT++ )) + _tmux && ret=0 + fi } _tmux-save-buffer() { @@ -815,6 +876,8 @@ _tmux-set-buffer() { '-a[append to rather than overwriting target buffer]' \ '-b+[specify target buffer index]:pane:__tmux-buffers' \ '-n+[specify new buffer name]:buffer-name' \ + '-t+[specify target client]:client:__tmux-clients' \ + '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ ':data' } @@ -824,7 +887,9 @@ _tmux-set-environment() { local curcontext="$curcontext" state line ret=1 typeset -A opt_args _arguments -C -s -A "-*" -S : \ + '-F[expand value as a format]' \ '(-t)-g[modify global environment]' \ + '-h[mark the variable as hidden]' \ '(-u)-r[remove variable before starting new processes]' \ '(-r)-u[unset a variable]' \ '(-g)-t[specify target session]:target session:__tmux-sessions' \ @@ -861,6 +926,7 @@ _tmux-set-option() { '-o[prevent setting of an option that is already set]' \ '-q[suppress errors about unknown or ambiguous options]' \ '-u[unset a non-global option]' \ + '-U[unset a pane option across all panes in the window]' \ '(-w -s)-p[change pane (no session) options]' \ '(-p -s)-w[change window (not session) options]' \ '(-p -w)-s[change server (not session) options]' \ @@ -899,6 +965,8 @@ _tmux-set-hook() { '-a[append to hook]' \ '(-R)-g[add hook to global list]' \ '(-g -u)-R[run hook immediately]' \ + '(-w)-p[set pane hooks]' \ + '(-p)-w[set window hooks]' \ '(-R)-u[unset a hook]' \ '-t+[specify target session]:session:__tmux-sessions' \ ':hook name:_tmux_hooks' \ @@ -909,6 +977,8 @@ _tmux-show-hooks() { [[ -n ${tmux_describe} ]] && print "show the global list of hooks" && return _arguments -s -S -A "-*" \ '-g[show global list of hooks]' \ + '(-w)-p[show pane hooks]' \ + '(-p)-w[show window hooks]' \ '-t+[specify target session]:session:__tmux-sessions' \ } @@ -924,6 +994,7 @@ _tmux-show-environment() { typeset -A opt_args _arguments -C -A "-*" -s : \ '(-t)-g[show global environment]' \ + '-h[show hidden variables]' \ '-s[format output as Bourne shell commands]' \ '(-g)-t+[specify target session]:target session:__tmux-sessions' \ '1:: :->name' && ret=0 @@ -986,6 +1057,7 @@ _tmux-show-window-options() { _tmux-source-file() { [[ -n ${tmux_describe} ]] && print "execute tmux commands from a file" && return _arguments \ + '-F[expand path as a format]' \ '-n[file is parsed but no commands are executed]' \ "-q[don't report error if path doesn't exist]" \ '-v[show parsed commands and line numbers if possible]' \ @@ -1006,6 +1078,7 @@ _tmux-split-window() { "(-p)-l[define new pane's size]:size" \ "!(-f -l)-p+:size (percentage)" \ '-t+[specify target pane]:pane:__tmux-panes' \ + '-Z[zoom the pane]' \ '(:)-I[create empty pane and forward stdin to it]' \ ':command:_cmdambivalent' # Yes, __tmux-panes is correct here. The behaviour was changed @@ -1065,6 +1138,7 @@ _tmux-unbind-key() { _arguments -C -s \ '-a[remove all key bindings]' \ '-n[remove a non-prefix binding]' \ + '-q[prevent errors being returned]' \ '-T[specify key table]:key table' \ '*:: :->boundkeys' @@ -1383,6 +1457,11 @@ _tmux_hooks() { 'post-hooks:command post-hook:compadd - after-${_tmux_aliasmap}' } +_tmux_client_flags() { + _values -s , flag active-pane ignore-size no-output \ + 'pause-after:time (seconds)' read-only wait-exit +} + function __tmux-get-optarg() { local opt="$1" local -i i @@ -1607,16 +1686,11 @@ function __tmux-options-complete() { } function __tmux-panes() { - local expl line + local expl line orig="$IPREFIX" local -i num local -a panes opts - compset -P '*.' - if [[ -n ${IPREFIX} ]]; then - opts=( -t "${IPREFIX%.}" ) - else - opts=( ) - fi + compset -P '*.' && opts=( -t "${${IPREFIX%.}#$orig}" ) num=0 command tmux 2> /dev/null list-panes "${opts[@]}" | while IFS= read -r line; do panes+=( $(( num++ )):${line//:/} ) @@ -1761,10 +1835,13 @@ _tmux() { '-2[force using 256 colours]' \ '-c[execute a shell command]:command name:_command_names' \ '-C[start tmux in control mode. -CC disables echo]' \ + "-D[don't start the tmux server as a daemon]" \ '-f[specify configuration file]:tmux config file:_files -g "*(-.)"' \ '-l[behave like a login shell]' \ '-L[specify socket name]:socket name:__tmux-socket-name' \ + "-N[don't start the server even if the command would normally do so]" \ '-S[specify socket path]:server socket:_path_files -g "*(=,/)"' \ + '-T+[set terminal features for the client]: : _values -s , 256 clipboard ccolour cstyle extkeys focus margins mouse overline rectfill RGB strikethrough sync title usstyle' \ '-u[force using UTF-8]' \ '-v[request verbose logging]' \ '-V[report tmux version]' \ diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim index d9dc1a5b3..5c6054e70 100644 --- a/Completion/Unix/Command/_vim +++ b/Completion/Unix/Command/_vim @@ -27,9 +27,8 @@ arguments=( '-D[debugging mode]' '-n[no swap file (memory only)]' {-r,-L}'[list swap files and exit or recover from a swap file]::swap file:_vim_files -g "*.sw?(-.)"' - '( -H -F)-A[start in Arabic mode]' - '(-A -F)-H[start in Hebrew mode]' - '(-A -H )-F[start in Farsi mode]' + '(-H)-A[start in Arabic mode]' + '(-A)-H[start in Hebrew mode]' '-u[use given vimrc file instead of default .vimrc]:config:->config' "--noplugin[don't load plugin scripts]" '-o-[number of windows to open (default: one for each file)]::window count: ' @@ -99,8 +98,11 @@ fi [[ $service != *view ]] && arguments+='-R[readonly mode]' [[ $service = *g* ]] || (( ${words[(I)-g]} )) && arguments+=( '(--nofork -f)'{--nofork,-f}'[do not detach the GUI version from the shell]' + '(-background -bg)'{-background,-bg}'[use specified color for the background]:color:_x_color' + '(-foreground -fg)'{-foreground,-fg}'[use specified color for normal text]:color:_x_color' '-font:font:_xft_fonts' '-geometry:geometry:_x_geometry' + '-iconic[start vim iconified]' '(-rv -reverse)'{-rv,-reverse}'[use reverse video]' '-display:display:_x_display' '--role[set unique role to identify main window]:role' diff --git a/Completion/Unix/Command/_w3m b/Completion/Unix/Command/_w3m index eff9901ca..de425cfb1 100644 --- a/Completion/Unix/Command/_w3m +++ b/Completion/Unix/Command/_w3m @@ -1,7 +1,5 @@ #compdef w3m -# w3m version w3m/0.5.1 - local curcontext="$curcontext" state line expl ret=1 typeset -A opt_args @@ -21,7 +19,7 @@ _arguments -C \ '(-B *)-v[visual startup mode]' \ '-M[monochrome display]' \ '-N[open URL of command line on each new tab]' \ - '-F[automatically render frame]' \ + '-F[automatically render frames]' \ '-cols[specify column width (used with -dump)]:column width' \ '-ppc[specify the number of pixels per character (4.0...32.0)]:number of pixels (4.0...32.0):' \ '-ppl[specify the number of pixels per line (4.0...64.0)]:number of pixels (4.0...64.0):' \ @@ -34,17 +32,17 @@ _arguments -C \ '-header[insert string as a header]:header:' \ '+-[goto specified line]:line number:_guard "[0-9]#" "line number"' \ '-num[show line number]' \ + '-session[use specified session]:id' \ "-no-proxy[don't use proxy]" \ '(-6)-4[IPv4 only (-o dns_order=4)]' \ '(-4)-6[IPv6 only (-o dns_order=6)]' \ "-no-mouse[don't use mouse]" \ '(-no-cookie)-cookie[use cookie]' \ "(-cookie)-no-cookie[don't use cookie]" \ - '-pauth[proxy authentication]:user\:pass:->pauth' \ - '(-no-graph)-graph[use graphic character]' \ - "(-graph)-no-graph[don't use graphic character]" \ + '(-no-graph)-graph[use DEC special graphics for border of table and menu]' \ + '(-graph)-no-graph[use ASCII character for border of table and menu]' \ '-S[squeeze multiple blank lines]' \ - '-W[toggle wrap search mode]' \ + '-W[toggle search wrap mode]' \ "-X[don't use termcap init/deinit]" \ '-title=[set buffer name to terminal title string]:terminal:_terminals' \ '*-o[assign value to config option]:option=value:->option' \ @@ -97,14 +95,6 @@ case "$state" in _describe -t options 'option' options "$suf[@]" && ret=0 fi ;; - pauth) - if compset -P 1 '*:'; then - _message -e passwords 'password' - else - compset -S ':*' || suf=( -S ':' ) - _users "$suf[@]" && ret=0 - fi - ;; esac return ret diff --git a/Completion/Unix/Command/_wget b/Completion/Unix/Command/_wget index d061fcd06..50fd7791a 100644 --- a/Completion/Unix/Command/_wget +++ b/Completion/Unix/Command/_wget @@ -34,6 +34,8 @@ _arguments -C -s \ '(--server-response -S)'{--server-response,-S}'[print server response]' \ "--spider[don't download anything]" \ '(--timeout -T)'{--timeout=,-T+}'[set all timeout values]:timeout (seconds)' \ + '--dns-servers=[specify DNS servers to query]:DNS server:_sequence _hosts' \ + '--bind-dns-address=[bind DNS resolver to specified address]:hostname or IP on local host' \ '(--timeout -T)--dns-timeout=[set the DNS lookup timeout]:DNS lookup timeout (seconds)' \ '(--timeout -T)--connect-timeout=[set the connect timeout]:connect timeout (seconds)' \ '(--timeout -T)--read-timeout=[set the read timeout]:read timeout (seconds)' \ @@ -107,7 +109,7 @@ _arguments -C -s \ "--ca-directory=[specify dir where hash list of CA's are stored]:directory:_directories" \ '--crl-file=[specify file with bundle of CRLs]:file:_files' \ '--pinnedpubkey=:file:_files' \ - '!--random-file=:file:_files' \ + '--random-file[specify file with random data for seeding generator]:file:_files' \ '--egd-file=[specify filename of EGD socket]:file:_files' \ '--ciphers=[set the priority string (GnuTLS) or cipher list string (OpenSSL) directly]:string' \ '--no-hsts[disable HSTS]' \ diff --git a/Completion/Unix/Command/_wiggle b/Completion/Unix/Command/_wiggle index 0a2f0c0cb..1d747a479 100644 --- a/Completion/Unix/Command/_wiggle +++ b/Completion/Unix/Command/_wiggle @@ -1,15 +1,17 @@ #compdef wiggle -local fns='-m --merge -d --diff -x --extract' +local fns='-m --merge -d --diff -x --extract -B --browse' _arguments \ "($fns -1 -2 -3)"{-m,--merge}'[select the merge function]' \ "($fns -3 3)"{-d,--diff}'[display differences between files]' \ "($fns 2 3)"{-x,--extract}'[extract one branch of a patch or merge file]' \ '(-w --words -l --lines)'{-w,--words}'[make operations and display word based]' \ - '(-l --lines -w --words)'{-l,--lines}'[make operations and display line based]' \ + '(-l --lines -w --words --non-space)'{-l,--lines}'[make operations and display line based]' \ + '(-l --lines)--non-space[words are separated by spaces]' \ '(-p --patch)'{-p,--patch}'[treat last named file as a patch]' \ '(-r --replace)'{-r,--replace}'[replace original file with merged output]' \ + '--no-backup[never save original file (as name.porig)]' \ '(-R --reverse -x --extract)'{-R,--reverse}'[swap the files or revert changes]' \ '(-2 -3 -m --merge)-1[select branch]' \ '(-1 -3 -m --merge)-2[select branch]' \ diff --git a/Completion/Unix/Command/_xmlsoft b/Completion/Unix/Command/_xmlsoft index 9f1206988..08b123e54 100644 --- a/Completion/Unix/Command/_xmlsoft +++ b/Completion/Unix/Command/_xmlsoft @@ -80,6 +80,7 @@ case $service in '(--dtdvalid --relaxng --schema)--postvalid[do a posteriori validation, i.e after parsing]' \ '(--postvalid --relaxng --schema --dtdvalidfpi)--dtdvalid[do a posteriori validation against a given DTD]:DTD:_webbrowser' \ '(--postvalid --relaxng --schema --dtdvalid)--dtdvalidfpi[as --dtdvalid but specify DTD with public identifier]:DTD identifier' \ + '--quiet[be quiet when successful]' \ '--timing[print some timings]' \ '(--noout --output -o)'{--output,-o}'[save to a given file]:output file:_files' \ '--repeat[repeat 100 times, for timing or profiling]' \ diff --git a/Completion/Unix/Command/_xxd b/Completion/Unix/Command/_xxd index 3a8efd664..31d26ab64 100644 --- a/Completion/Unix/Command/_xxd +++ b/Completion/Unix/Command/_xxd @@ -39,6 +39,7 @@ arguments=( {-g+,-groupsize}'[specify the number of octets per group]: :_guard "[0-9]#" "number of octets per group"' {-l+,-len}'[specify number of octets to output]: :_guard "[0-9]#" "number of octets to output"' {-o+,-offset}'[add specified offset to displayed file position]:offset' + '-d[show offset in decimal instead of hex]' {-s,-skip,-seek}'[specify file offset to dump from]: :_guard "[0-9]#" "file offset to dump from (absolute or relative)"' ': :_files' diff --git a/Completion/X/Command/_xrandr b/Completion/X/Command/_xrandr index 6143054aa..2551e1958 100644 --- a/Completion/X/Command/_xrandr +++ b/Completion/X/Command/_xrandr @@ -36,6 +36,7 @@ _arguments -C \ '*--set:property:(Backlight scaling\ mode):value:->value' \ '*--scale:output scaling:' \ '*--transform:transformation matrix:' \ + '*--filter:mode:(nearest bilinear)' \ '*--off[disable the output]' \ '*--crtc:crtc to use:' \ '*--panning:panning:' \ diff --git a/Completion/X/Command/_xterm b/Completion/X/Command/_xterm index 6d98985e7..180c2eb21 100644 --- a/Completion/X/Command/_xterm +++ b/Completion/X/Command/_xterm @@ -3,7 +3,7 @@ _xt_arguments \ -+{132,ah,ai,aw,bc,bdc,cb,cjk_width,cm,cn,cu,dc,fbb,fbx,fullscreen,hf,hm,hold,ie,im,itc,j,k8,l,lc,ls,maximized,mb,mesg,mk_width,nul,pc,pob,rvc,rw,s,samename,sb,sf,si,sk,sm,sp,t,u8,uc,ulc,ulit,ut,vb,wc,wf} \ -{version,help,leftbar,rightbar,C} \ - '-report-'{charclass,colors,fonts} \ + '-report-'{charclass,colors,fonts,icons,xres} \ '-T:title' \ '-b:inner border size:' \ '-baudrate:rate [38400]' \ |