FreeBSD Bugzilla – Attachment 89507 Details for
Bug 126457
new completion function for shells/zsh including a backport from zsh CVS and fixes for existing ones
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
zsh-completion.patch
zsh-completion.patch (text/plain), 17.82 KB, created by
baptiste.daroussin
on 2008-08-11 20:40:02 UTC
(
hide
)
Description:
zsh-completion.patch
Filename:
MIME Type:
Creator:
baptiste.daroussin
Created:
2008-08-11 20:40:02 UTC
Size:
17.82 KB
patch
obsolete
>--- ./Completion/BSD/Command/_csup.orig 2008-08-11 21:13:00.906895679 +0200 >+++ ./Completion/BSD/Command/_csup 2008-08-07 23:26:34.000000000 +0200 >@@ -4,17 +4,17 @@ > '-1[disable automatic retries]' \ > '-4[Force usage of IPv4 addresses]' \ > '-6[Force usage of IPv6 addresses]' \ >- '-A:local address:_hosts' \ >- '-b:base directory:_files -/' \ >- '-c:collections directory:_files -/' \ >- '-d:maximum number of deleted files:' \ >- '-h:server host:_hosts' \ >- '-i:file pattern:' \ >+ '-A[Local address to bind to when connecting to the server]:local address:_hosts' \ >+ '-b[Base directory]:base directory:_files -/' \ >+ '-c[Subdirectory of base for information about collections]:collections directory:_files -/' \ >+ '-d[maximum number of deleted files]:maximum number of deleted files:' \ >+ '-h[Server host]:server host:_hosts' \ >+ '-i[Include only files and directories matching]:file pattern:' \ > '-k[keep temporary copies of failed updates]' \ >- '-l:lock file:_files' \ >- '-L:verbosity level:(0 1 2)' \ >- '-p:port:_ports' \ >- '-r:maximum number of retries:' \ >+ '-l[Lock file]:lock file:_files' \ >+ '-L[Verbosity level]:verbosity level:(0 1 2)' \ >+ '-p[Server port]:port:_ports' \ >+ '-r[maximum number of retries]:maximum number of retries:' \ > '-s[suppress status checks]' \ > '-v[print version information]' \ > '(-Z)-z[enable compression]' \ >--- ./Completion/BSD/Command/_fetch.orig 2008-08-11 21:11:24.486265818 +0200 >+++ ./Completion/BSD/Command/_fetch 2008-08-07 16:33:14.000000000 +0200 >@@ -0,0 +1,30 @@ >+#compdef fetch >+# Deprecated arguments are removed from the completion >+ >+_arguments -s \ >+ '-1[Stop and return exit code 0 at the first successfully retrieved file]' \ >+ '-4[Forces fetch to use IPv4 addresses only]' \ >+ '-6[Forces fetch to use IPv6 addresses only]' \ >+ '-A[Do not automatically follow "temporary" (302) redirects]' \ >+ '-a[Automatically retry the transfer upon soft failures]' \ >+ '-B[Specify the read buffer size in bytes]:bytes:' \ >+ '-d[Use a direct connection even if a proxy is configured]' \ >+ '-F[In combination with the -r flag, forces a restart]' \ >+ '-l[If the target is a file-scheme URL, make a symbolic link to the target]' \ >+ '-M' \ >+ '-m[Mirror mode]' \ >+ '-N[Use file instead of ~/.netrc to look up login names and pass- words for FTP sites]' \ >+ '-n[Do not preserve the modification time]' \ >+ '-o[Set the output file name]:file:_files' \ >+ '-P' \ >+ '-p[Use passive FTP]' \ >+ '-q[Quiet mode]' \ >+ '-R[Do not delete the output file in any circumstances]' \ >+ '-r[Restart a previously interrupted transfer]' \ >+ '-S[Require the file size reported by the server to match the specified value]' \ >+ '-s[Print the size in bytes, without fetching it]' \ >+ '-T[Set timeout value]:seconds:' \ >+ '-U[When using passive FTP, allocate the port for the data connection from the low port range]' \ >+ '-v[Increase verbosity level]' \ >+ '-w[wait successive retries]:seconds:' \ >+ '*:URL to fetch:_urls' >--- ./Completion/BSD/Command/_freebsd-update.orig 2008-08-11 21:11:21.101223543 +0200 >+++ ./Completion/BSD/Command/_freebsd-update 2008-08-11 21:10:58.558724000 +0200 >@@ -0,0 +1,20 @@ >+#compdef freebsd-update >+ >+local flags >+flags=( >+ '(cron)fetch[Fetch a compressed snapshot or update existing one]' >+ '(fetch)cron[Sleep rand(3600) seconds, and then fetch updates]' >+ '(install rollback)upgrade[Fetch files necessary for upgrading to a new release]' >+ '(upgrade rollback)install[Install the most recently fetched updates or upgrade]' >+ '(upgrade install)rollback[Uninstall the most recently installed updates]' >+) >+ >+_arguments -s \ >+ '-b[Operate on a system mounted at basedir]:basedir:_files -/' \ >+ '-d[Store working files in workdir]:workdir:_files -/' \ >+ '-f[Read configuration options from conffile]:conf file:_files' \ >+ '-k[Trust an RSA key with SHA256 of KEY]:RSA key:' \ >+ '-r[Specify the new release]:new release:' \ >+ '-s[Fetch files from the specified server or server pool]:server:_hosts' \ >+ '-f[Mail output of cron command, if any, to address]:address:' \ >+ ':command:_values -S " " -w "commands" $flags[@]' >--- ./Completion/BSD/Command/_portlint.orig 2008-08-11 21:13:14.561019868 +0200 >+++ ./Completion/BSD/Command/_portlint 2008-08-07 23:39:52.000000000 +0200 >@@ -12,6 +12,6 @@ > '-t[nit pick about use of spaces]' \ > '-N[writing a new port]' \ > '-V[print the version and exit]' \ >- '-M:set make variables to ENV (ex. PORTSDIR=/usr/ports.work):_guard ".#" "environment vars"' \ >- '-B:allow # contiguous blank lines:_guard "[0-9]#" "numeric value"' \ >+ '-M[set make variables to ENV (ex. PORTSDIR=/usr/ports.work)]: :_guard ".#" "environment vars"' \ >+ '-B[allow # contiguous blank lines]: :_guard "[0-9]#" "numeric value"' \ > ':port directory:_files -/' >--- ./Completion/BSD/Command/_portsnap.orig 2008-08-11 21:13:29.613753583 +0200 >+++ ./Completion/BSD/Command/_portsnap 2008-08-07 23:20:31.000000000 +0200 >@@ -11,13 +11,13 @@ > ) > > _arguments -C -s \ >- '-d:Store working files in workdir:_files -/' \ >- '-f:Read configuration options from conffile:_files' \ >+ '-d[Store working files in workdir]:workdir:_files -/' \ >+ '-f[Read configuration options from conffile]:conf file:_files' \ > '-I[Update INDEX only. (update command only)]' \ >- '-k:Trust an RSA key with SHA256 hash of KEY:_files' \ >- '-l:Merge the specified local describes file into the INDEX:_files' \ >- '-p:Location of uncompressed ports tree:_files -/' \ >- '-s:Server from which to fetch updates:_hosts' \ >+ '-k[Trust an RSA key with SHA256 hash of KEY]:RSA key:_files' \ >+ '-l[Merge the specified local describes file into the INDEX]:file:_files' \ >+ '-p[Location of uncompressed ports tree]:uncompressed ports tree:_files -/' \ >+ '-s[Server from which to fetch updates]:server:_hosts' \ > '*:principal:->principal' && ret=0 > > if [[ $state == principal ]]; then >--- ./Completion/BSD/Command/_powerd.orig 2008-08-11 21:11:34.966287868 +0200 >+++ ./Completion/BSD/Command/_powerd 2008-08-07 16:03:57.000000000 +0200 >@@ -0,0 +1,13 @@ >+#compdef powerd >+ >+local powerd_mode >+powerd_mode=(minimum maximum adaptative) >+_arguments -s \ >+ "-a[Mode to use while on AC power]:mode:($powerd_mode)" \ >+ "-b[Mode to use while on battery power]:mode:($powerd_mode)" \ >+ '-i[CPU idle percent level when begin to degrade performance]:percent:' \ >+ "-n[mode to use normally when the AC line state is unknown]:mode:($powerd_mode)" \ >+ '-p[polling interval (in milliseconds) for AC line state and system idle levels]:interval:' \ >+ '-P[Alternative pidfile]:pidfile:_files' \ >+ '-r[CPU idle percent level where to increase performance]:percent:' \ >+ '-v[Verbose mode]' >--- ./Completion/Unix/Command/_zfs.orig 2008-08-11 21:06:41.527570337 +0200 >+++ ./Completion/Unix/Command/_zfs 2008-08-11 21:01:43.000000000 +0200 >@@ -0,0 +1,238 @@ >+#compdef zfs >+ >+_zfs() { >+ local context state line expl >+ typeset -A opt_args >+ local -a subcmds rw_properties rw_propnames ro_properties >+ >+ subcmds=( >+ "create" "destroy" "clone" "promote" "rename" "snapshot" >+ "rollback" "list" "set" "get" "inherit" "mount" "unmount" >+ "share" "unshare" "send" "receive" "allow" "unallow" >+ "upgrade" >+ ) >+ >+ ro_properties=( >+ "name" "type" "creation" "used" "available" "referenced" >+ "compressratio" "mounted" "origin" >+ ) >+ >+ # TODO: Be cleverer about what values can be set. Is there any way to >+ # set the sorting for *size properties to false by default? >+ rw_properties=( >+ "aclinherit:value:(discard noallow secure passthrough)" >+ "aclmode:value:(discard groupmask passthrough)" >+ "atime:value:(on off)" >+ "canmount:value:(on off)" >+ "checksum:value:(on off fletcher2 fletcher4 sha256)" >+ "compression:value:(on off lzjb gzip gzip-{1..9})" >+ "copies:value:(1 2 3)" >+ "devices:value:(on off)" >+ "exec:value:(on off)" >+ "mountpoint:value:{if [[ -prefix /* ]]; then _path_files -/; else _wanted mountpoints expl 'mountpoint (type \"/\" to start completing paths)' compadd legacy none; fi}" >+ "quota:number or 'none':{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ $PREFIX == quota= ]]; then _wanted none expl 'number or none' compadd none; else _wanted none expl 'quota' compadd none; fi}" >+ "readonly:value:(on off)" >+ "recordsize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K)" >+ "reservation:value:" # <size>, "none" >+ "setuid:value:(on off)" >+ "shareiscsi:value:(on off)" # or "type=<type>" >+ "sharenfs:value:(on off)" # or share(1M) options >+ "snapdir:value:(hidden visible)" >+ "version:value:(1 2 current)" >+ "volblocksize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K)" >+ "volsize:value:" # <size> >+ "xattr:value:(on off)" >+ "zoned:value:(on off)" >+ ) >+ >+ rw_propnames=( ${rw_properties%%:*} ) >+ >+ if [[ $service == "zfs" ]]; then >+ _arguments -C -A "-*" \ >+ '-\?[Help]' \ >+ '*::command:->subcmd' && return 0 >+ >+ if (( CURRENT == 1 )); then >+ _wanted commands expl "zfs subcommand" compadd -a subcmds >+ return >+ fi >+ service="$words[1]" >+ curcontext="${curcontext%:*}=$service:" >+ fi >+ >+ case $service in >+ ("create") >+ _arguments -A "-*" \ >+ '-p[Create parent datasets]' \ >+ '-o[Set initial properties]:property:_values -s , "property" $rw_properties' \ >+ - set1 \ >+ ':filesystem:' \ >+ - set2 \ >+ '-s[Create sparse volume]' \ >+ '-b[Set volblocksize]:blocksize:' \ >+ '-V[Set size]:size:' \ >+ ':volume:' >+ ;; >+ >+ ("destroy") >+ _arguments -A "-*" \ >+ '-r[Recursively destroy all children]' \ >+ '-R[Recursively destroy all dependents]' \ >+ '-f[Force unmounts]' \ >+ ':filesystem/volume/snapshot:_zfs_dataset' >+ ;; >+ >+ ("snapshot") >+ _arguments -A "-*" \ >+ '-r[Recursively snapshot all descendant datasets]' \ >+ ':filesystem/volume:_zfs_dataset -t fs -t vol -S@' >+ ;; >+ >+ ("rollback") >+ _arguments -A "-*" \ >+ '-r[Recursively destroy more recent snapshots]' \ >+ '-R[Recursively destroy more recent snapshots and clones]' \ >+ '-f[Force unmounts]' \ >+ ':snapshot:_zfs_dataset -t snap' >+ ;; >+ >+ ("clone") >+ _arguments -A "-*" \ >+ '-p[Create parent datasets]' \ >+ # XXX needs to bail if there are no snapshots >+ ':snapshot:_zfs_dataset -t snap' \ >+ ':filesystem/volume:' >+ ;; >+ >+ ("promote") >+ # XXX complete only cloned filesystems >+ _arguments \ >+ ':filesystem:_zfs_dataset -t fs' \ >+ ;; >+ >+ ("rename") >+ _arguments -A "-*" \ >+ - set1 \ >+ '-p[Create parent datasets]' \ >+ ':filesystem/volume/snapshot:_zfs_dataset' \ >+ ':filesystem/volume/snapshot:' \ >+ - set2 \ >+ '-r[Recursively rename snapshots of all descendent datasets]' \ >+ ':snapshot:_zfs_dataset -t snap' \ >+ ':snapshot:' >+ ;; >+ >+ ("list") >+ _arguments -A "-*" \ >+ '-r[Recursively display children]' \ >+ '-H[Scripting mode]' \ >+ '-o[Properties to list]:property:_values -s , "property" $ro_properties $rw_propnames' \ >+ '*-s[Sort key (ascending)]:property:_values "property" $ro_properties $rw_propnames' \ >+ '*-S[Sort key (descending)]:property:_values "property" $ro_properties $rw_propnames' \ >+ '-t[Dataset types to list]:dataset type:_values -s , "dataset type" filesystem snapshot volume' \ >+ '*:filesystem/volume/snapshot:_zfs_dataset' >+ ;; >+ >+ ("set") >+ _arguments \ >+ ':property:_values -s , "property" $rw_properties' \ >+ '*:filesystem/volume:_zfs_dataset -t fs -t vol' >+ ;; >+ >+ ("get") >+ _arguments -A "-*" \ >+ "-r[Recursively display children's properties]" \ >+ '-H[Scripting mode]' \ >+ '-p[Display numbers exactly]' \ >+ '-s[Specify sources]:source:_values -s , "source" local default inherited temporary none' \ >+ '-o[Specify fields]:field:_values -s , "field" name property value source' \ >+ ':property:_values -s , "property" $ro_properties $rw_propnames all' \ >+ '*:filesystem/volume/snapshot:_zfs_dataset' >+ ;; >+ >+ ("inherit") >+ _arguments -A "-*" \ >+ '-r[Recursively inherit property for all children]' \ >+ ':property:_values -s , "property" $ro_properties $rw_properties' \ >+ '*:filesystem/volume:_zfs_dataset -t fs -t vol' >+ ;; >+ >+ ("mount") >+ _arguments -A "-*" \ >+ '-o[Mount options]:mount options:_values -s , "option" {,no}{devices,exec,setuid} ro rw' \ >+ '-O[Overlay mount]' \ >+ '-v[Report mount progress]' \ >+ - set1 \ >+ ':filesystem:_zfs_dataset -t fs' \ >+ - set2 \ >+ '-a[Mount all available ZFS filesystems]' >+ ;; >+ >+ ("unmount") >+ _arguments -A "-*" \ >+ - set1 \ >+ '-f[Force unmount]' \ >+ ':filesystem:_zfs_dataset -t fs -t mtpt' \ >+ - set2 \ >+ '-a[Unmount all ZFS filesystems]' >+ ;; >+ >+ ("share") >+ _arguments -A "-*" \ >+ - set1 \ >+ '-a[Share all available ZFS filesystems]' \ >+ - set2 \ >+ ':filesystem:_zfs_dataset -t fs' >+ ;; >+ >+ ("unshare") >+ _arguments -A "-*" \ >+ - set1 \ >+ '-a[Unshare all shared ZFS filesystems]' \ >+ - set2 \ >+ '-F[Force unshare]' \ >+ ':filesystem:_zfs_dataset -t fs -t mtpt' >+ ;; >+ >+ ("send") >+ _arguments -A "-*" \ >+ '-i[Generate an incremental stream]:snapshot:_zfs_dataset -t snap' \ >+ ':snapshot:_zfs_dataset -t snap' >+ ;; >+ >+ ("receive") >+ _arguments -A "-*" \ >+ '-v[Verbose]' \ >+ '-n[Do not receive the stream]' \ >+ '-F[Force a rollback if necessary]' \ >+ - set1 \ >+ ':filesystem/volume/snapshot:_zfs_dataset' \ >+ - set2 \ >+ '-d[Set path prefix]:filesystem:_zfs_dataset -t fs' >+ ;; >+ >+ ("allow"|"unallow") >+ _message "unimplemented zfs subcommand: $service" >+ ;; >+ >+ ("upgrade") >+ _arguments -A "-*" \ >+ - set1 \ >+ '-v[Verbose]' \ >+ - set2 \ >+ '-a[Upgrade all filesystems on all pools]' \ >+ '-r[Upgrade descendent filesystems, too]' \ >+ '-V[Upgrade to specified version]:version:(1 2)' \ >+ - set3 \ >+ '-r[Upgrade descendent filesystems, too]' \ >+ '-V[Upgrade to specified version]:version:(1 2)' \ >+ ':filesystem:_zfs_dataset -t fs' \ >+ ;; >+ >+ (*) >+ _message "unknown zfs subcommand: $service" >+ ;; >+ esac >+} >+ >+_zfs "$@" >--- ./Completion/Unix/Command/_zpool.orig 2008-08-11 21:06:46.815072767 +0200 >+++ ./Completion/Unix/Command/_zpool 2008-08-11 21:01:58.000000000 +0200 >@@ -0,0 +1,201 @@ >+#compdef zpool >+ >+_zpool() { >+ local -a subcmds fields >+ >+ subcmds=( >+ create destroy add remove list iostat status online >+ offline clear attach detach replace scrub import export >+ upgrade history get set >+ ) >+ >+ fields=( >+ name\:"Pool name" size\:"Total size" used\:"Space used" >+ available\:"Space available" capacity\:"Space used (percentage)" >+ health\:"Health status" >+ ) >+ >+ properties=( >+ "bootfs:value:" >+ "autoreplace:value:(on off)" >+ "delegation:value:(on off)" >+ ) >+ propnames=( ${properties%%:*} ) >+ >+ import_properties=( >+ xattr >+ copies >+ shareiscsi >+ canmount >+ share >+ sharenfs >+ userprop >+ mount >+ ) >+ >+ if [[ $service == "zpool" ]]; then >+ _arguments -C -A "-*" \ >+ '-\?[Help]' \ >+ '*::command:->subcmd' && return 0 >+ >+ if (( CURRENT == 1 )); then >+ _wanted commands expl "zpool subcommand" compadd -a subcmds >+ return >+ fi >+ service="$words[1]" >+ curcontext="${curcontext%:*}=$service:" >+ fi >+ >+ case $service in >+ (clear) >+ _arguments \ >+ ':pool name:_zfs_pool' \ >+ '*:virtual device:_files' >+ ;; >+ >+ (create) >+ # TODO: investigate better vdev handling >+ _arguments -A "-*" \ >+ '-f[Force use of in-use devices]' \ >+ '-n[Display configuration without creating pool]' \ >+ '-R[Use alternate root]:alternate root:_files -/' \ >+ '-m[Set mountpoint for root dataset]:mountpoint:' \ >+ ':pool name:' \ >+ '*:virtual device:_files' >+ ;; >+ >+ (destroy) >+ _arguments -A "-*" \ >+ '-f[Force active datasets to be unmounted]' \ >+ ':pool name:_zfs_pool' >+ ;; >+ >+ (add) >+ _arguments -A "-*" \ >+ '-f[Force use of in-use devices]' \ >+ '-n[Display configuration without modifying pool]' \ >+ ':pool name:_zfs_pool' \ >+ '*:virtual device:_files' >+ ;; >+ >+ (list) >+ _arguments \ >+ '-H[Scripted mode]' \ >+ '-o[Fields to list]:field:_values -s , "field" ${^fields/\:/[}\]' \ >+ '::pool name:_zfs_pool' >+ ;; >+ >+ (iostat) >+ _arguments -A "-*" \ >+ '-v[Verbose statistics]' \ >+ '*::pool name:_zfs_pool' \ >+ '::interval:' \ >+ '::count:' >+ ;; >+ >+ (status) >+ _arguments -A "-*" \ >+ '-v[Verbose information]' \ >+ '-x[Show only unhealthy pools]' \ >+ '*::pool name:_zfs_pool' >+ ;; >+ >+ (offline) >+ _arguments -A "-*" \ >+ '-t[Offline until next reboot]' \ >+ ':pool name:_zfs_pool' \ >+ '*:virtual device:_files' >+ ;; >+ >+ (online) >+ _arguments \ >+ ':pool name:_zfs_pool' \ >+ '*:virtual device:_files' >+ ;; >+ >+ (attach) >+ # TODO: first device should choose first from existing. >+ _arguments \ >+ '-f[Force attach, even if in use]' \ >+ ':pool name:_zfs_pool' \ >+ ':virtual device:_files' \ >+ ':virtual device:_files' >+ ;; >+ >+ (detach) >+ _arguments \ >+ ':pool name:_zfs_pool' \ >+ ':virtual device:_files' >+ ;; >+ >+ (replace) >+ _arguments -A "-*" \ >+ '-f[Force attach, even if in use]' \ >+ ':pool name:_zfs_pool' \ >+ ':virtual device:_files' \ >+ '::virtual device:_files' >+ ;; >+ >+ (scrub) >+ _arguments -A "-*" \ >+ '-s[Stop scrubbing]' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (export) >+ _arguments -A "-*" \ >+ '-f[Forcefully unmount all datasets]' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (import) >+ # TODO: -o should complete options >+ _arguments -A "-*" \ >+ '*-d[Search for devices or files in directory]:_files -/' \ >+ '-D[Destroyed pools]' \ >+ '-f[Force import]' \ >+ - set1 \ >+ '-o[Mount options]' \ >+ '-p[Set property]:property:_values -s , "property" $import_properties' \ >+ '-R[Alternate root]:_files -/' \ >+ '*:pool name or id:_zfs_pool' \ >+ '::new pool name:' \ >+ - set2 \ >+ '-a[All pools]' >+ ;; >+ >+ (get) >+ _arguments -A "-*" \ >+ ':property:_values -s , "property" $propnames all' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (set) >+ _arguments -A "-*" \ >+ ':property:_values -s , "property" $properties' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (upgrade) >+ _arguments -A "-*" \ >+ - set1 \ >+ '-v[Display ZFS versions and descriptions]' \ >+ - set2 \ >+ '-a[Upgrade all pools]' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (history) >+ _arguments -A "-*" \ >+ '-i[Display internal events]' \ >+ '-l[Long format]' \ >+ '*:pool name:_zfs_pool' >+ ;; >+ >+ (*) >+ _message "unknown zpool subcommand: $service" >+ ;; >+ esac >+} >+ >+_zpool "$@"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 126457
: 89507 |
89508
|
89509