You are looking at historical revision 2859 of this page. It may differ significantly from its current revision.
bash completion for chicken tools
The Debian bash package features support for command line completion through the file /etc/bash_completion. This page of the chicken wiki provides a file to add completion for the chicken tools in bash.
Currently, only chicken-setup is supported. Hopefully csi and csc will follow.
Use
Copy the following code in a file named chicken in /etc/bash_completion.d. Alternatively, source it after /etc/bash_completion (which is sourced from ~/.bashrc or elsewhere).
- chicken-setup <tab> completes for *.egg files.
- chicken-setup -<tab> completes for options.
# chicken-setup command line completion for bash.
#
# version 0.2 -- 2007.01.13 -- vo minh thu
# - chicken-setup <tab> completes for *.egg files.
# version 0.1 -- 2007.01.13 -- vo minh thu
_chicken_setup()
{
local cur prev frst opts
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
frst=${COMP_WORDS[1]}
opts='-help -version -repository -program-path -host \
-uninstall -list -run -script -eval -verbose \
-keep -csc-option -dont-ask -no-install -docindex \
-check -test -ls -fetch-tree -tree -svn -revision \
-local -destdir'
paroptions=${opts}
# the following options take zero or one argument
case "${prev}" in
'-repository' | '-program-path' | '-local' | '-destdir' )
COMPREPLY=( $(compgen -A directory ${cur}) )
return 0;;
'-host' )
COMPREPLY=( $(compgen -A hostname ${cur}) )
return 0;;
'-run' | '-script' | '-tree' )
COMPREPLY=( $(compgen -A file ${cur}) )
return 0;;
'-uninstall' | '-ls' )
local exts=$( chicken-setup -list | awk '{ print $1 }' )
COMPREPLY=( $(compgen -W "${exts}" -- ${cur}) )
return 0;;
esac
# the following options take zero or more arguments
case "${frst}" in
'-list' | '-test' )
local exts=$( chicken-setup -list | awk '{ print $1 }' )
COMPREPLY=( $(compgen -W "${exts}" -- ${cur}) )
return 0;;
esac
case ${cur} in
-* )
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0;;
* )
COMPREPLY=($(compgen -f -X "egg" -- ${cur}))
esac
}
[ "$have" ] && complete -F _chicken_setup chicken-setup