summaryrefslogtreecommitdiff
path: root/share/rcm.sh.in
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2013-08-02 14:27:44 -0400
committerGravatar Mike Burns <mike@mike-burns.com>2013-08-02 14:27:44 -0400
commitfe3244ca9c8c9a38ea700851e36667b1015d11e6 (patch)
tree3c0f61030cc37250844d914c25ffaff672330698 /share/rcm.sh.in
parentaacff1b269a39c967f84ab33b68f827febee8891 (diff)
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.
Diffstat (limited to 'share/rcm.sh.in')
-rw-r--r--share/rcm.sh.in64
1 files changed, 64 insertions, 0 deletions
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"
+}