Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/helpers: fix _command_exists() #2018

Merged
merged 2 commits into from
Jan 24, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 54 additions & 53 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}"
gaelicWizard marked this conversation as resolved.
Show resolved Hide resolved
if type -t "$1" > /dev/null; then
return 0
else
_log_debug "$msg"
gaelicWizard marked this conversation as resolved.
Show resolved Hide resolved
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 Expand Up @@ -1039,14 +1047,7 @@ all_groups ()
about 'displays all unique metadata groups'
group 'lib'

typeset func
typeset file=$(mktemp -t composure.XXXX)
for func in $(_typeset_functions)
do
typeset -f $func | metafor group >> $file
done
cat $file | sort | uniq
rm $file
declare -f | metafor group | sort -u
gaelicWizard marked this conversation as resolved.
Show resolved Hide resolved
}

if ! type pathmunge > /dev/null 2>&1
Expand Down