#! @BASH@ # This script is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # See the COPYING and AUTHORS files for more details. export TEXTDOMAIN=quilt export QUILTRC=$HOME/.quiltrc usage() { echo $"Usage: quilt command [-h] ..." #echo $"Commands are:" $( # local command # for command in @QUILT@/* # do # if [ -f "$command" -a -x "$command" ] # then # echo "${command#@QUILT@/}" # fi # done \ # | sort #) echo $"Commands are:" quilt_commands \ | sort \ | column | column -t \ | sed -e $'s/^/\t/' exit 1 } quilt_commands() { local command for command in @QUILT@/* do if [ -f "$command" -a -x "$command" ] then echo ${command##@QUILT@/} fi done } BASH_OPTS= while [ $# -ne 0 ] do case $1 in [^-]*) if [ -z "$command" ] then command=$1 else args[${#args[@]}]=$1 fi ;; # Use a resource file other than ~/.quiltrc --quiltrc=*) QUILTRC=${1#--quiltrc=} [ "$QUILTRC" = - ] && unset QUILTRC ;; --quiltrc) QUILTRC=$2 [ "$QUILTRC" = - ] && unset QUILTRC shift ;; # Trace execution of commands --trace) BASH_OPTS=-x ;; *) args[${#args[@]}]=$1 ;; esac shift done if ! [ -f "@QUILT@/$command" -a -x "@QUILT@/$command" ] then if [ -n "$command" ] then for arg in $(quilt_commands) do case "$arg" in $command*) commands[${#commands[@]}]=$arg ;; esac done unset arg fi if [ ${#commands[@]} -eq 0 ] then usage elif [ ${#commands[@]} -eq 1 ] then command=${commands[0]} unset commands else echo "$command :" "${commands[@]}" >&2 exit 1 fi fi set -- "${args[@]}" unset args #source @QUILT@/$command @BASH@ $BASH_OPTS -c ". @QUILT@/$command" "quilt ${command##*/}" "$@"