aboutsummaryrefslogtreecommitdiff
path: root/shflags
diff options
context:
space:
mode:
authorKate Ward <kate.ward@forestent.com>2018-01-25 12:54:08 +0100
committerKate Ward <kate.ward@forestent.com>2018-01-25 12:54:08 +0100
commit9123f58a2e024398adc92e4d4eb32a06a3afc674 (patch)
treedbdfd979ea83c4a23aed97c563a58b3b2f1a1fb4 /shflags
parentd2ecc883a5ab4827c416934a2f2dc7e032b7acdd (diff)
downloadshflags-9123f58a2e024398adc92e4d4eb32a06a3afc674.tar.gz
Moved logging code earlier so it can be used during initialization.
Diffstat (limited to 'shflags')
-rw-r--r--shflags100
1 files changed, 51 insertions, 49 deletions
diff --git a/shflags b/shflags
index 7232940..ed55676 100644
--- a/shflags
+++ b/shflags
@@ -125,7 +125,57 @@ fi
FLAGS_EXPR_CMD=${FLAGS_EXPR_CMD:-${__FLAGS_EXPR_CMD}}
FLAGS_GETOPT_CMD=${FLAGS_GETOPT_CMD:-getopt}
-# Specific shell checks.
+#
+# Logging functions.
+#
+
+__flags_level=0 # Default logging level.
+
+_flags_debug() {
+ [ ${__flags_level} -le ${FLAGS_LEVEL_DEBUG} ] || return
+ echo "flags:DEBUG $*" >&2
+}
+_flags_info() {
+ [ ${__flags_level} -le ${FLAGS_LEVEL_INFO} ] || return
+ echo "flags:INFO $*" >&2
+}
+_flags_warn() {
+ [ ${__flags_level} -le ${FLAGS_LEVEL_WARN} ] || return
+ echo "flags:WARN $*" >&2
+}
+_flags_error() {
+ [ ${__flags_level} -le ${FLAGS_LEVEL_ERROR} ] || return
+ echo "flags:ERROR $*" >&2
+}
+_flags_fatal() {
+ [ ${__flags_level} -le ${FLAGS_LEVEL_FATAL} ] || return
+ echo "flags:FATAL $*" >&2
+ exit ${FLAGS_ERROR}
+}
+
+# Get the logging level.
+flags_loggingLevel() { echo ${__flags_level}; }
+
+# Set the logging level.
+#
+# Args:
+# _flags_level_: integer: new logging level
+# Returns:
+# nothing
+flags_setLoggingLevel() {
+ [ $# -ne 1 ] && _flags_fatal "flags_setLevel(): logging level missing"
+ _flags_level_=$1
+ [ "${_flags_level_}" -ge "${FLAGS_LEVEL_DEBUG}" \
+ -a "${_flags_level_}" -le "${FLAGS_LEVEL_FATAL}" ] \
+ || _flags_fatal "Invalid logging level '${_flags_level_}' specified."
+ __flags_level=$1
+ unset _flags_level_
+}
+
+#
+# Shell checks.
+#
+
if [ -n "${ZSH_VERSION:-}" ]; then
setopt |grep "^shwordsplit$" >/dev/null
if [ $? -ne ${FLAGS_TRUE} ]; then
@@ -145,7 +195,6 @@ else
__FLAGS_USE_BUILTIN=${FLAGS_FALSE}
fi
-
#
# Constants.
#
@@ -226,55 +275,8 @@ __flags_shortNames=' ' # Short flag names.
__flags_definedNames=' ' # Defined flag names (used for validation).
__flags_columns='' # Screen width in columns.
-__flags_level=0 # Default logging level.
__flags_opts='' # Temporary storage for parsed getopt flags.
-#------------------------------------------------------------------------------
-# Private functions.
-#
-
-# Logging functions.
-_flags_debug() {
- [ ${__flags_level} -le ${FLAGS_LEVEL_DEBUG} ] || return
- echo "flags:DEBUG $*" >&2
-}
-_flags_info() {
- [ ${__flags_level} -le ${FLAGS_LEVEL_INFO} ] || return
- echo "flags:INFO $*" >&2
-}
-_flags_warn() {
- [ ${__flags_level} -le ${FLAGS_LEVEL_WARN} ] || return
- echo "flags:WARN $*" >&2
-}
-_flags_error() {
- [ ${__flags_level} -le ${FLAGS_LEVEL_ERROR} ] || return
- echo "flags:ERROR $*" >&2
-}
-_flags_fatal() {
- [ ${__flags_level} -le ${FLAGS_LEVEL_FATAL} ] || return
- echo "flags:FATAL $*" >&2
- exit ${FLAGS_ERROR}
-}
-
-# Get the logging level.
-flags_loggingLevel() { echo ${__flags_level}; }
-
-# Set the logging level.
-#
-# Args:
-# _flags_level_: integer: new logging level
-# Returns:
-# nothing
-flags_setLoggingLevel() {
- [ $# -ne 1 ] && _flags_fatal "flags_setLevel(): logging level missing"
- _flags_level_=$1
- [ "${_flags_level_}" -ge "${FLAGS_LEVEL_DEBUG}" \
- -a "${_flags_level_}" -le "${FLAGS_LEVEL_FATAL}" ] \
- || _flags_fatal "Invalid logging level '${_flags_level_}' specified."
- __flags_level=$1
- unset _flags_level_
-}
-
# Define a flag.
#
# Calling this function will define the following info variables for the