diff --git a/lib/helpers.bash b/lib/helpers.bash index e8fb42d155..672a213447 100755 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -15,49 +15,49 @@ case "$OSTYPE" in 'darwin'*) BASH_IT_SED_I_PARAMETERS=(-i "") esac -function _command_exists () -{ - _about 'checks for existence of a command' - _param '1: command to check' - _param '2: (optional) log message to include when command not found' - _example '$ _command_exists ls && echo exists' - _group 'lib' - local msg="${2:-Command '$1' does not exist!}" - if type -t "$1" &> /dev/null - then - return 0 - else - _log_warning "$msg" - return 1 - fi +function _command_exists() { + _about 'checks for existence of a command' + _param '1: command to check' + _param '2: (optional) log message to include when command not found' + _example '$ _command_exists ls && echo exists' + _group 'lib' + local msg="${2:-Command '$1' does not exist}" + if type -t "$1" > /dev/null; then + return 0 + else + _log_debug "$msg" + return 1 + fi } -function _binary_exists () -{ - _about 'checks for existence of a binary' - _param '1: binary to check' - _param '2: (optional) log message to include when binary not found' - _example '$ _binary_exists ls && echo exists' - _group 'lib' - local msg="${2:-Binary '$1' does not exist!}" - if type -P "$1" &> /dev/null - then - return 0 - else - _log_warning "$msg" - return 1 - fi +function _binary_exists() { + _about 'checks for existence of a binary' + _param '1: binary to check' + _param '2: (optional) log message to include when binary not found' + _example '$ _binary_exists ls && echo exists' + _group 'lib' + local msg="${2:-Binary '$1' does not exist}" + if type -P "$1" > /dev/null; then + return 0 + else + _log_debug "$msg" + return 1 + fi } -function _completion_exists () -{ - _about 'checks for existence of a completion' - _param '1: command to check' - _param '2: (optional) log message to include when completion is found' - _example '$ _completion_exists gh && echo exists' - _group 'lib' - local msg="${2:-Completion for '$1' already exists!}" - complete -p "$1" &> /dev/null && _log_warning "$msg" ; +function _completion_exists() { + _about 'checks for existence of a completion' + _param '1: command to check' + _param '2: (optional) log message to include when completion is found' + _example '$ _completion_exists gh && echo exists' + _group 'lib' + local msg="${2:-Completion for '$1' already exists}" + if complete -p "$1" &> /dev/null; then + _log_debug "$msg" + return 0 + else + return 1 + fi } function _bash_it_homebrew_check() @@ -179,12 +179,20 @@ bash-it () fi } -_is_function () -{ - _about 'sets $? to true if parameter is the name of a function' - _param '1: name of alleged function' - _group 'lib' - [ -n "$(LANG=C type -t $1 2>/dev/null | grep 'function')" ] +function _is_function() { + _about 'sets $? to true if parameter is the name of a function' + _param '1: name of alleged function' + _param '2: (optional) log message to include when function not found' + _group 'lib' + _example '$ _is_function ls && echo exists' + _group 'lib' + local msg="${2:-Function '$1' does not exist}" + if LC_ALL=C type -t "$1" | _bash-it-egrep -q 'function'; then + return 0 + else + _log_debug "$msg" + return 1 + fi } _bash-it-aliases ()