summaryrefslogtreecommitdiff
path: root/bash-completion/addons/zfsutils
diff options
context:
space:
mode:
authorIgor Pashev <igor.pashev@nexenta.com>2013-04-08 13:25:16 +0400
committerIgor Pashev <igor.pashev@nexenta.com>2013-04-08 13:25:16 +0400
commit1fca2856b3366a47472df4cae78f77794cf1ce71 (patch)
treee4f9bb0d8501d337c1aa97e77e5f3812fd562f94 /bash-completion/addons/zfsutils
parenta953cf98ab91bd09e233a2d749811b16c9465018 (diff)
downloadcibs-pkgs-1fca2856b3366a47472df4cae78f77794cf1ce71.tar.gz
Fix dynamic loading
Diffstat (limited to 'bash-completion/addons/zfsutils')
-rw-r--r--bash-completion/addons/zfsutils243
1 files changed, 0 insertions, 243 deletions
diff --git a/bash-completion/addons/zfsutils b/bash-completion/addons/zfsutils
deleted file mode 100644
index f59d73a..0000000
--- a/bash-completion/addons/zfsutils
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright (c) 2010, Aneurin Price <aneurin.price@gmail.com>
-# Portions copyright (c) 2013, Pashev Igor <pashev.igor@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)
- case "$prev" in
- -o)
- COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "${cur##*,}"))
- local existing_opts=$(expr "$cur" : '\(.*,\)')
- if [ ! "x$existing_opts" = "x" ]
- then
- COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
- fi
- ;;
- -t)
- COMPREPLY=($(compgen -W "snapshot volume filesystem all" -- "${cur##*,}"))
- local existing_opts=$(expr "$cur" : '\(.*,\)')
- if [ ! "x$existing_opts" = "x" ]
- then
- COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
- fi
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets) -H -r -o -t" -- "$cur"))
- ;;
- esac
- 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