Add _binary_exists and use in github-cli completion

gh was also used as an git alias, and caused _command_exists to not fail as expected
pull/1685/head
Noah Gorny 2020-10-21 00:14:11 +03:00
parent c387517122
commit 8a36f21ca1
2 changed files with 12 additions and 1 deletions

View File

@ -2,7 +2,7 @@
cite "about-completion" cite "about-completion"
about-completion "GitHub CLI completion" about-completion "GitHub CLI completion"
if _command_exists gh; then if _binary_exists gh; then
if _command_exists brew; then if _command_exists brew; then
_log_warning "You don't need github-cli completion enabled if you have system completion enabled" _log_warning "You don't need github-cli completion enabled if you have system completion enabled"
fi fi

View File

@ -26,6 +26,17 @@ function _command_exists ()
type "$1" &> /dev/null || (_log_warning "$msg" && return 1) ; type "$1" &> /dev/null || (_log_warning "$msg" && return 1) ;
} }
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!}"
type -P "$1" &> /dev/null || (_log_warning "$msg" && return 1) ;
}
function _make_reload_alias() { function _make_reload_alias() {
echo "source \${BASH_IT}/scripts/reloader.bash ${1} ${2}" echo "source \${BASH_IT}/scripts/reloader.bash ${1} ${2}"
} }