60 lines
1.4 KiB
Bash
60 lines
1.4 KiB
Bash
# sitecopy(1) completion
|
|
# Copyright 2003 Eelco Lempsink <eelcolempsink@gmx.net>
|
|
# 2011 Raphaël Droz <raphael.droz+floss@gmail.com>
|
|
# License: GNU GPL v2 or later
|
|
|
|
have sitecopy || return
|
|
|
|
_sitecopy()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--debug|-d)
|
|
COMPREPLY=( $( compgen -W "socket files rcfile ftp http httpbody
|
|
rsh sftp xml xmlparse cleartext" -- "$cur" ) )
|
|
compopt -o nospace
|
|
return 0
|
|
;;
|
|
--logfile|-g|--rcfile|-r)
|
|
_filedir
|
|
return 0
|
|
;;
|
|
--storepath|-p)
|
|
_filedir -d
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
case $cur in
|
|
--*)
|
|
COMPREPLY=( $( compgen -W "$(_parse_help $1)" -- "$cur" ) )
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
return 0
|
|
;;
|
|
|
|
# only complete long options
|
|
-)
|
|
compopt -o nospace
|
|
COMPREPLY=( -- )
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
if [ -r ~/.sitecopyrc ]; then
|
|
COMPREPLY=( $( compgen -W "$($1 -v | \
|
|
command sed -n '/^Site:/s/Site: //p')" -- "$cur" ) )
|
|
fi
|
|
return 0
|
|
} &&
|
|
complete -F _sitecopy -o default sitecopy
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|