From 6ff5bf823bd8c13f62526c62fd83f329bb315c9c Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 1 Jul 2013 12:36:08 +0200 Subject: [PATCH] Break dotfile option parsing functions into their own file --- src/bin/dotify | 1 + src/lib/internals.sh | 29 ------------------------ src/lib/parse-dotfile-options.sh | 38 ++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 src/lib/parse-dotfile-options.sh diff --git a/src/bin/dotify b/src/bin/dotify index 100c0e3..7ec8107 100755 --- a/src/bin/dotify +++ b/src/bin/dotify @@ -37,6 +37,7 @@ source "../lib/trim.sh" # Internal functions # +source "../lib/parse-dotfile-options.sh" source "../lib/internals.sh" # diff --git a/src/lib/internals.sh b/src/lib/internals.sh index d6001a4..dba2ce8 100644 --- a/src/lib/internals.sh +++ b/src/lib/internals.sh @@ -51,35 +51,6 @@ execute-dotfile() { cd "$cwd" } -parse-dotfile-options() { - parse-dotfile-root_link-option - parse-dotfile-default_action-option -} - -parse-dotfile-root_link-option() { - # Set default. - OPT_ROOT_LINK=".dotfiles" - - while read line; do - if [[ "$line" == "root_link "* ]]; then - OPT_ROOT_LINK="$(trim "${line/#root_link /}")" - break - fi - done < "$DOTFILE" -} - -parse-dotfile-default_action-option() { - # Set default. - OPT_DEFAULT_ACTION="link" - - while read line; do - if [[ "$line" == "default_action "* ]]; then - OPT_DEFAULT_ACTION="$(trim "${line/#default_action /}")" - break - fi - done < "$DOTFILE" -} - parse-dotfile-line() { local line="$(trim "$1")" local dotfile="$DOTFILE" diff --git a/src/lib/parse-dotfile-options.sh b/src/lib/parse-dotfile-options.sh new file mode 100644 index 0000000..f0de383 --- /dev/null +++ b/src/lib/parse-dotfile-options.sh @@ -0,0 +1,38 @@ +parse-dotfile-options() { + OPT_ROOT_LINK="$(parse-dotfile-root_link-option)" + OPT_DEFAULT_ACTION="$(parse-dotfile-default_action-option)" +} + +parse-dotfile-root_link-option() { + local dotfile="$DOTFILE" + if [ -n "$1" ]; then dotfile="$1"; fi + + # Set default. + local root_link=".dotfiles" + + while read line; do + if [[ "$line" == "root_link "* ]]; then + root_link="$(trim "${line/#root_link /}")" + break + fi + done < "$dotfile" + + echo "$root_link" +} + +parse-dotfile-default_action-option() { + local dotfile="$DOTFILE" + if [ -n "$1" ]; then dotfile="$1"; fi + + # Set default value. + default_action="link" + + while read line; do + if [[ "$line" == "default_action "* ]]; then + default_action="$(trim "${line/#default_action /}")" + break + fi + done < "$dotfile" + + echo "$default_action" +}