summaryrefslogblamecommitdiffstats
path: root/bin/quilt.in
blob: 10738a1c39d8387198cf434bdcc15ac36cf13885 (plain) (tree)
1
2
3
4
5
6
7
8
9
         






                                                                      
                       
                             
 


       

                                             









                                                             
                             


















                                                     
          
                  
  
                  


                                    
                                  
                    
                                            
                     








                                                      
                
                               
          
                                       
            
             









                                                       
                                                              


                                  
                         






                                      
                                      

                              
                                                      




                      
          
 
                        
                                                                     
#! @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##*/}" "$@"