diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2009-01-21 16:00:26 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2009-01-21 16:00:26 +0000 |
commit | 62d067117e9a707011d29905ef28f69ff24b5caf (patch) | |
tree | ae2514c53d40b8ccb806a41e3fbde83230202944 /shells | |
parent | 768eed235f8ce26d23a4b0a43dcc69ecab513224 (diff) | |
download | ports-62d067117e9a707011d29905ef28f69ff24b5caf.tar.gz ports-62d067117e9a707011d29905ef28f69ff24b5caf.zip |
Notes
Diffstat (limited to 'shells')
-rw-r--r-- | shells/zsh/Makefile | 2 | ||||
-rw-r--r-- | shells/zsh/files/patch-Completion-Unix-Command-_zfs | 255 | ||||
-rw-r--r-- | shells/zsh/files/patch-Completion-Unix-Command-_zpool | 207 |
3 files changed, 463 insertions, 1 deletions
diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile index 1a534853c893..36fd4db9d325 100644 --- a/shells/zsh/Makefile +++ b/shells/zsh/Makefile @@ -7,7 +7,7 @@ PORTNAME= zsh PORTVERSION= 4.3.9 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= shells MASTER_SITES= SF .if !defined(NOPORTDOCS) diff --git a/shells/zsh/files/patch-Completion-Unix-Command-_zfs b/shells/zsh/files/patch-Completion-Unix-Command-_zfs new file mode 100644 index 000000000000..6b8f4b2c187e --- /dev/null +++ b/shells/zsh/files/patch-Completion-Unix-Command-_zfs @@ -0,0 +1,255 @@ +--- Completion/Unix/Command/_zfs.orig 2008-08-12 12:28:11.000000000 +0200 ++++ Completion/Unix/Command/_zfs 2009-01-21 16:51:25.860277309 +0100 +@@ -97,9 +97,9 @@ + ;; + + ("clone") ++ # XXX needs to bail if there are no snapshots + _arguments -A "-*" \ + '-p[Create parent datasets]' \ +- # XXX needs to bail if there are no snapshots + ':snapshot:_zfs_dataset -t snap' \ + ':filesystem/volume:' + ;; +@@ -236,241 +236,3 @@ + } + + _zfs "$@" +-#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 "$@" diff --git a/shells/zsh/files/patch-Completion-Unix-Command-_zpool b/shells/zsh/files/patch-Completion-Unix-Command-_zpool new file mode 100644 index 000000000000..f2e10b6bc65e --- /dev/null +++ b/shells/zsh/files/patch-Completion-Unix-Command-_zpool @@ -0,0 +1,207 @@ +--- Completion/Unix/Command/_zpool.orig 2008-08-12 12:28:11.000000000 +0200 ++++ Completion/Unix/Command/_zpool 2009-01-21 16:49:13.434692608 +0100 +@@ -199,204 +199,3 @@ + } + + _zpool "$@" +-#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 "$@" |