Skip to content

Commit

Permalink
lib/helpers: fix _command_exists()
Browse files Browse the repository at this point in the history
The weird subshell is weird AF. Just do a normal `if`.

Ditto `_binary_exists()`, `_completion_exists()`, and `_is_function()`!
  • Loading branch information
gaelicWizard committed Jan 9, 2022
1 parent 28b416a commit 170d70d
Showing 1 changed file with 53 additions and 45 deletions.
98 changes: 53 additions & 45 deletions lib/helpers.bash
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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 ()
Expand Down

0 comments on commit 170d70d

Please sign in to comment.