summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-utils/files/bash-completion
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/zfs-utils/files/bash-completion')
-rw-r--r--sys-fs/zfs-utils/files/bash-completion232
1 files changed, 0 insertions, 232 deletions
diff --git a/sys-fs/zfs-utils/files/bash-completion b/sys-fs/zfs-utils/files/bash-completion
deleted file mode 100644
index 1b9428bf..00000000
--- a/sys-fs/zfs-utils/files/bash-completion
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright (c) 2010, Aneurin Price <aneurin.price@gmail.com>
-
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use,
-# copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following
-# conditions:
-
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-
-__zfs_get_commands()
-{
- zfs 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
-}
-
-__zfs_get_properties()
-{
- zfs get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
-}
-
-__zfs_get_editable_properties()
-{
- zfs get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
-}
-
-__zfs_get_inheritable_properties()
-{
- zfs get 2>&1 | awk '$3 == "YES" {print $1}'
-}
-
-__zfs_list_datasets()
-{
- zfs list -H -o name
-}
-
-__zfs_list_filesystems()
-{
- zfs list -H -o name -t filesystem
-}
-
-__zfs_list_snapshots()
-{
- zfs list -H -o name -t snapshot
-}
-
-__zfs_list_volumes()
-{
- zfs list -H -o name -t volume
-}
-
-__zfs_argument_chosen()
-{
- for word in $(seq $((COMP_CWORD-1)) -1 2)
- do
- local prev="${COMP_WORDS[$word]}"
- for property in $@
- do
- if [ "x$prev" = "x$property" ]
- then
- return 0
- fi
- done
- done
- return 1
-}
-
-__zfs_complete_ordered_arguments()
-{
- local list1=$1
- local list2=$2
- local cur=$3
- local extra=$4
- if __zfs_argument_chosen $list1
- then
- COMPREPLY=($(compgen -W "$list2 $extra" -- "$cur"))
- else
- COMPREPLY=($(compgen -W "$list1 $extra" -- "$cur"))
- fi
-}
-
-__zfs_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- cmd="${COMP_WORDS[1]}"
- cmds=$(__zfs_get_commands)
-
- if [ "${prev##*/}" = "zfs" ]
- then
- COMPREPLY=($(compgen -W "$cmds -?" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- clone)
- __zfs_complete_ordered_arguments "$(__zfs_list_snapshots)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
- return 0
- ;;
- get)
- __zfs_complete_ordered_arguments "$(__zfs_get_properties)" "$(__zfs_list_datasets)" "$cur" "-H -r -p"
- return 0
- ;;
- inherit)
- __zfs_complete_ordered_arguments "$(__zfs_get_inheritable_properties)" "$(__zfs_list_datasets)" $cur
- return 0
- ;;
- list)
- if [ "x$prev" = "x-o" ]
- then
- COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "${cur##*,}"))
- local existing_opts=$(expr "$cur" : '\(.*,\)')
- if [ ! "x$existing_opts" = "x" ]
- then
- COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
- fi
- else
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets) -H -r -o" -- "$cur"))
- fi
- return 0
- ;;
- promote)
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur"))
- return 0
- ;;
- rollback|send)
- COMPREPLY=($(compgen -W "$(__zfs_list_snapshots)" -- "$cur"))
- return 0
- ;;
- snapshot)
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems) $(__zfs_list_volumes)" -- "$cur"))
- return 0
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zfs_get_editable_properties)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
- return 0
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets)" -- "$cur"))
- return 0
- ;;
- esac
-
-}
-
-__zpool_get_commands()
-{
- zpool 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
-}
-
-__zpool_get_properties()
-{
- zpool get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
-}
-
-__zpool_get_editable_properties()
-{
- zpool get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
-}
-
-__zpool_list_pools()
-{
- zpool list -H -o name
-}
-
-__zpool_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- cmd="${COMP_WORDS[1]}"
- cmds=$(__zpool_get_commands)
-
- if [ "${prev##*/}" = "zpool" ]
- then
- COMPREPLY=($(compgen -W "$cmds" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- get)
- __zfs_complete_ordered_arguments "$(__zpool_get_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- import)
- if [ "x$prev" = "x-d" ]
- then
- _filedir -d
- else
- COMPREPLY=($(compgen -W "$(__zpool_list_pools) -d" -- "$cur"))
- fi
- return 0
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zpool_get_editable_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- add|attach|clear|create|detach|offline|online|remove|replace)
- local pools="$(__zpool_list_pools)"
- if __zfs_argument_chosen $pools
- then
- _filedir
- else
- COMPREPLY=($(compgen -W "$pools" -- "$cur"))
- fi
- return 0
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zpool_list_pools)" -- "$cur"))
- return 0
- ;;
- esac
-
-}
-
-complete -F __zfs_complete zfs
-complete -o filenames -F __zpool_complete zpool