freebsd-ports/shells/zsh/files/patch-Completion-Unix-Command-_zpool
Dag-Erling Smørgrav 62d067117e When I upgraded to 4.3.9, which included Baptiste's completion definitions
for zfs(8) and zpool(8) which we had previously had as local patches, I
blindly assumed that the upstream versions were correct.  They weren't.
2009-01-21 16:00:26 +00:00

207 lines
4.3 KiB
Text

--- 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 "$@"