Break dotfile option parsing functions into their own file

This commit is contained in:
2013-07-01 12:36:08 +02:00
parent d0f4f579c0
commit 6ff5bf823b
3 changed files with 39 additions and 29 deletions

View File

@@ -37,6 +37,7 @@ source "../lib/trim.sh"
# Internal functions
#
source "../lib/parse-dotfile-options.sh"
source "../lib/internals.sh"
#

View File

@@ -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"

View File

@@ -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"
}