From fe3244ca9c8c9a38ea700851e36667b1015d11e6 Mon Sep 17 00:00:00 2001 From: Mike Burns Date: Fri, 2 Aug 2013 14:27:44 -0400 Subject: Extra argument parsing into rcm.sh Pull the `-V`, `-v`, `-q`, `-t`, and `-d` out into the `handle_common_flags` and `handle_metadata_flags` functions, shared between the different programs. --- share/rcm.sh.in | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'share/rcm.sh.in') diff --git a/share/rcm.sh.in b/share/rcm.sh.in index 44131ec..c057e87 100644 --- a/share/rcm.sh.in +++ b/share/rcm.sh.in @@ -1,5 +1,25 @@ VERSION="@PACKAGE_VERSION@" +#set -x + +DEBUG=: +DEST_DIR=$HOME +PRINT=echo +PROMPT=echo_n +VERBOSE=: +MKDIR=mkdir +LN=ln +RM=rm +DEFAULT_DOTFILES_DIR=$HOME/.dotfiles +MV=mv +INSTALL=rcup +ROOT_DIR=$HOME +HOSTNAME=`hostname -s` + +echo_n() { + printf "%s " "$*" +} + version() { cat << EOV $1 (rcm) $VERSION @@ -9,3 +29,47 @@ License BSD: BSD 3-clause license Written by Mike Burns. EOV } + +handle_common_flags() { + local prog_name=$1 + local version=$2 + local verbosity=$3 + + if [ $version -eq 1 ]; then + version $prog_name + exit 0 + elif [ $verbosity -ge 2 ]; then + DEBUG=echo + VERBOSE=echo + PRINT=echo + MV="$MV -v" + INSTALL="$INSTALL -vv" + elif [ $verbosity -eq 1 ]; then + DEBUG=: + VERBOSE=echo + PRINT=echo + MV="$MV -v" + INSTALL="$INSTALL -v" + elif [ $verbosity -eq 0 ]; then + DEBUG=: + VERBOSE=: + PRINT=echo + MV="$MV -v" + else + DEBUG=: + VERBOSE=: + PRINT=: + INSTALL="$INSTALL -q" + fi +} + +handle_metadata_flags() { + local arg_tags=$1 + local dotfiles_dirs=$2 + + : ${TAGS:=$arg_tags} + : ${DOTFILES_DIRS:=$dotfiles_dirs} + + $DEBUG "TAGS: $TAGS" + $DEBUG "DOTFILES_DIRS: $DOTFILES_DIRS" +} -- cgit v1.2.3