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/Makefile.in | 4 ++-- share/rcm.sh.in | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 2 deletions(-) (limited to 'share') diff --git a/share/Makefile.in b/share/Makefile.in index 8b2661d..448b28c 100644 --- a/share/Makefile.in +++ b/share/Makefile.in @@ -181,9 +181,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign share/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu share/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign share/Makefile + $(AUTOMAKE) --gnu share/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' 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