[stgt] [PATCH 1/3] Add bash-completion
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Mon Aug 19 01:11:41 CEST 2013
Thanks,
Any opinions on rpm/deb patches from developers who cares about the
packaging?
On Sun, 18 Aug 2013 11:15:53 +0300
Igor Shaula <gentoo90 at gmail.com> wrote:
> ---
> scripts/tgt.bashcomp.sh | 311 ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 311 insertions(+)
> create mode 100644 scripts/tgt.bashcomp.sh
>
> diff --git a/scripts/tgt.bashcomp.sh b/scripts/tgt.bashcomp.sh
> new file mode 100644
> index 0000000..2a8dfb8
> --- /dev/null
> +++ b/scripts/tgt.bashcomp.sh
> @@ -0,0 +1,311 @@
> +# list available target names
> +_tgt_targets() {
> + COMPREPLY=( $(compgen -W "$(tgt-admin --show|\
> + grep Target | cut -d' ' -f3\
> + ) ALL help" -- "${cur}") )
> +}
> +
> +
> +have tgtd &&
> +_tgtd() {
> + local optslist split=false
> + local cur prev
> +
> + COMPREPLY=()
> + cur=$(_get_cword "=")
> + prev="${COMP_WORDS[COMP_CWORD-1]}"
> +
> + _expand || return 0
> +
> + optslist='
> + --foreground -f
> + --control-port -C
> + --nr_iothreads -t
> + --debug -d
> + --version -V
> + --help -h
> + '
> +
> + _split_longopt && split=true
> +
> + case "${prev}" in
> + --nr_iothreads|-t|\
> + --control-port|-C|\
> + --debug|-d)
> + return 0;;
> + esac
> +
> + $split && return 0
> +
> + case "${cur}" in
> + -*)
> + COMPREPLY=( $(compgen -W "${optslist}" -- "${cur}") )
> + return 0;;
> + *)
> + _filedir
> + return 0;;
> + esac
> +} &&
> +complete -F _tgtd ${nospace} tgtd
> +
> +
> +have tgtimg &&
> +_tgtimg() {
> + local optslist split=false
> + local cur prev
> +
> + COMPREPLY=()
> + cur=$(_get_cword "=")
> + prev="${COMP_WORDS[COMP_CWORD-1]}"
> +
> + _expand || return 0
> +
> + optslist='
> + --help -h
> + --op -o
> + --device-type -Y
> + --barcode -b
> + --size -s
> + --type -t
> + --file -f
> + --thin-provisioning -T
> + '
> +
> + _split_longopt && split=true
> +
> + case "${prev}" in
> + --op|-o)
> + COMPREPLY=( $(compgen -W "new show" -- "${cur}") )
> + return 0;;
> + --device-type|-Y)
> + COMPREPLY=( $(compgen -W "cd disk tape" -- "${cur}") )
> + return 0;;
> + --type|-t)
> + COMPREPLY=( $(compgen -W "dvd+r disk data clean worm" -- "${cur}") )
> + return 0;;
> + --file|-f)
> + _filedir
> + return 0;;
> + --barcode|-b|\
> + --size|-s)
> + return 0;;
> + esac
> +
> + $split && return 0
> +
> + case "${cur}" in
> + -*)
> + COMPREPLY=( $(compgen -W "${optslist}" -- "${cur}") )
> + return 0;;
> + *)
> + _filedir
> + return 0;;
> + esac
> +} &&
> +complete -F _tgtimg ${nospace} tgtimg
> +
> +
> +have tgtadm &&
> +_tgtadm() {
> + local optslist split=false
> + local cur prev
> +
> + COMPREPLY=()
> + cur=$(_get_cword "=")
> + prev="${COMP_WORDS[COMP_CWORD-1]}"
> +
> + _expand || return 0
> +
> + optslist='
> + --debug -d
> + --help -h
> + --version -V
> + --lld -L
> + --op -o
> + --mode -m
> + --tid -t
> + --sid -s
> + --cid -c
> + --lun -l
> + --name -n
> + --value -v
> + --backing-store -b
> + --bstype -E
> + --bsoflags -f
> + --blocksize -y
> + --targetname -T
> + --initiator-address -I
> + --initiator-name -Q
> + --user -u
> + --password -p
> + --host -H
> + --force -F
> + --params -P
> + --bus -B
> + --device-type -Y
> + --outgoing -O
> + --control-port -C
> + '
> +
> + _split_longopt && split=true
> +
> + case "${prev}" in
> + --lld|-L)
> + COMPREPLY=( $(compgen -W "iscsi iser" -- "${cur}") )
> + return 0;;
> + --op|-o)
> + COMPREPLY=( $(compgen -W "new delete bind unbind show
> + update stat start stop" -- "${cur}") )
> + return 0;;
> + --mode|-m)
> + COMPREPLY=( $(compgen -W "system sys target tgt logicalunit lu
> + portal pt session sess connection conn account lld" -- "${cur}") )
> + return 0;;
> + --bstype|-E)
> + COMPREPLY=( $(compgen -W "rdwr aio rbd sg ssc" -- "${cur}") )
> + return 0;;
> + --bsoflags|-f)
> + COMPREPLY=( $(compgen -W "direct sync" -- "${cur}") )
> + return 0;;
> + --device-type|-Y)
> + COMPREPLY=( $(compgen -W "disk tape cd changer osd ssc pt" -- "${cur}") )
> + return 0;;
> + --targetname|-T)
> + _tgt_targets
> + return 0;;
> + --backing-store|-b)
> + _filedir
> + return 0;;
> + --blocksize|-y|\
> + --bus|-B|\
> + --cid|-c|\
> + --control-port|-C|\
> + --host|-H|\
> + --initiator-address|-I|\
> + --initiator-name|-Q|\
> + --lun|-l|\
> + --name|-n|\
> + --params|-P|\
> + --password|-p|\
> + --sid|-s|\
> + --tid|-t|\
> + --user|-u|\
> + --value|-v)
> + return 0;;
> + esac
> +
> + $split && return 0
> +
> + case "${cur}" in
> + -*)
> + COMPREPLY=( $(compgen -W "${optslist}" -- "${cur}") )
> + return 0;;
> + *)
> + _filedir
> + return 0;;
> + esac
> +} &&
> +complete -F _tgtadm ${nospace} tgtadm
> +
> +
> +have tgt-admin &&
> +_tgt_admin() {
> + local optslist split=false
> + local cur prev
> +
> + COMPREPLY=()
> + cur=$(_get_cword "=")
> + prev="${COMP_WORDS[COMP_CWORD-1]}"
> +
> + _expand || return 0
> +
> + optslist='
> + --execute -e
> + --delete
> + --offline
> + --ready
> + --update
> + --show -s
> + --conf -c
> + --ignore-errors
> + --force -f
> + --pretend -p
> + --dump
> + --verbose -v
> + --help -h
> + --control-port -C
> + '
> +
> + _split_longopt && split=true
> +
> + case "${prev}" in
> + --delete|-d|\
> + --offline|\
> + --ready|\
> + --update)
> + _tgt_targets
> + return 0;;
> + --conf|-c)
> + _filedir
> + return 0;;
> + --control-port|-C)
> + return 0;;
> + esac
> +
> + $split && return 0
> +
> + case "${cur}" in
> + -*)
> + COMPREPLY=( $(compgen -W "${optslist}" -- "${cur}") )
> + return 0;;
> + *)
> + _filedir
> + return 0;;
> + esac
> +} &&
> +complete -F _tgt_admin ${nospace} tgt-admin
> +
> +
> +have tgt-setup-lun &&
> +_tgt_setup_lun() {
> + local optslist split=false
> + local cur prev
> +
> + COMPREPLY=()
> + cur=$(_get_cword "=")
> + prev="${COMP_WORDS[COMP_CWORD-1]}"
> +
> + _expand || return 0
> +
> + optslist='
> + -d
> + -n
> + -b
> + -t
> + -C
> + -h
> + '
> +
> + _split_longopt && split=true
> +
> + case "${prev}" in
> + -n)
> + _tgt_targets
> + return 0;;
> + -d)
> + _filedir
> + return 0;;
> + esac
> +
> + $split && return 0
> +
> + case "${cur}" in
> + -*)
> + COMPREPLY=( $(compgen -W "${optslist}" -- "${cur}") )
> + return 0;;
> + *)
> + _filedir
> + return 0;;
> + esac
> +} &&
> +complete -F _tgt_setup_lun ${nospace} tgt-setup-lun
> --
> 1.8.1.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe stgt" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list