Adding short options

Feature request #25
This commit is contained in:
Tyler Akins 2019-03-13 20:38:00 -05:00
parent aabc62f1d6
commit 505570a57b
No known key found for this signature in database
GPG Key ID: 8F3B8C432F4393BD

41
mo
View File

@ -11,12 +11,18 @@
#/ #/
#/ Simple usage: #/ Simple usage:
#/ #/
#/ mo [--false] [--help] [--source=FILE] filenames... #/ mo [OPTIONS] filenames...
#/ #/
#/ --fail-not-set - Fail upon expansion of an unset variable. #/ Options:
#/ --false - Treat the string "false" as empty for conditionals. #/
#/ --help - This message. #/ -u, --fail-not-set
#/ --source=FILE - Load FILE into the environment before processing templates. #/ - Fail upon expansion of an unset variable.
#/ -e, --false
#/ - Treat the string "false" as empty for conditionals.
#/ -h, --help
#/ - This message.
#/ -s=FILE, --source=FILE
#/ - Load FILE into the environment before processing templates.
# #
# Mo is under a MIT style licence with an additional non-advertising clause. # Mo is under a MIT style licence with an additional non-advertising clause.
# See LICENSE.md for the full text. # See LICENSE.md for the full text.
@ -32,14 +38,17 @@
# --allow-function-arguments # --allow-function-arguments
# - Permit functions in templates to be called with additional # - Permit functions in templates to be called with additional
# arguments. This puts template data directly in to the path # arguments. This puts template data directly in to the path
# of an eval statement. Use with caution. # of an eval statement. Use with caution. Not listed in the
# --fail-not-set - Fail upon expansion of an unset variable. Default behavior # help because it only makes sense when mo is sourced.
# -u, --fail-not-set
# - Fail upon expansion of an unset variable. Default behavior
# is to silently ignore and expand into empty string. # is to silently ignore and expand into empty string.
# --false - Treat "false" as an empty value. You may set the # -e, --false - Treat "false" as an empty value. You may set the
# MO_FALSE_IS_EMPTY environment variable instead to a non-empty # MO_FALSE_IS_EMPTY environment variable instead to a non-empty
# value to enable this behavior. # value to enable this behavior.
# --help - Display a help message. # -h, --help - Display a help message.
# --source=FILE - Source a file into the environment before processint # -s=FILE, --source=FILE
# - Source a file into the environment before processint
# template files. # template files.
# -- - Used to indicate the end of options. You may optionally # -- - Used to indicate the end of options. You may optionally
# use this when filenames may start with two hyphens. # use this when filenames may start with two hyphens.
@ -89,18 +98,22 @@ mo() (
MO_ALLOW_FUNCTION_ARGUMENTS=true MO_ALLOW_FUNCTION_ARGUMENTS=true
;; ;;
--fail-not-set) -u | --fail-not-set)
# shellcheck disable=SC2030 # shellcheck disable=SC2030
MO_FAIL_ON_UNSET=true MO_FAIL_ON_UNSET=true
;; ;;
--false) -e | --false)
# shellcheck disable=SC2030 # shellcheck disable=SC2030
MO_FALSE_IS_EMPTY=true MO_FALSE_IS_EMPTY=true
;; ;;
--source=*) -s=* | --source=*)
f2source="${arg#--source=}" if [[ "$arg" == --source=* ]]; then
f2source="${arg#--source=}"
else
f2source="${arg#-s=}"
fi
if [[ -f "$f2source" ]]; then if [[ -f "$f2source" ]]; then
# shellcheck disable=SC1090 # shellcheck disable=SC1090